diff options
author | Patrik Nyblom <[email protected]> | 2013-08-23 17:22:38 +0200 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2013-08-23 17:22:38 +0200 |
commit | 42beca2776cf0995a08d9218708a6d66925adc34 (patch) | |
tree | e8582a17cf7beff421b0e07b0d82da3ee0c2c297 /erts/emulator/drivers/common/efile_drv.c | |
parent | cefaaa6eddafbd3fd418eec5551819a82935e3b3 (diff) | |
parent | 076dff38d5aa6fd303b5c2a3aa809115c0545164 (diff) | |
download | otp-42beca2776cf0995a08d9218708a6d66925adc34.tar.gz otp-42beca2776cf0995a08d9218708a6d66925adc34.tar.bz2 otp-42beca2776cf0995a08d9218708a6d66925adc34.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/drivers/common/efile_drv.c')
-rw-r--r-- | erts/emulator/drivers/common/efile_drv.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/erts/emulator/drivers/common/efile_drv.c b/erts/emulator/drivers/common/efile_drv.c index 9e95325c24..c997fe1bf9 100644 --- a/erts/emulator/drivers/common/efile_drv.c +++ b/erts/emulator/drivers/common/efile_drv.c @@ -772,6 +772,7 @@ file_init(void) return 0; } + /********************************************************************* * Driver entry point -> start */ @@ -788,7 +789,7 @@ file_start(ErlDrvPort port, char* command) } desc->fd = FILE_FD_INVALID; desc->port = port; - desc->key = (unsigned int) (UWord) port; + desc->key = driver_async_port_key(port); desc->flags = 0; desc->invoke = NULL; desc->d = NULL; @@ -3133,25 +3134,25 @@ file_flush(ErlDrvData e) { /********************************************************************* * Driver entry point -> control + * Only debug functionality... */ static ErlDrvSSizeT file_control(ErlDrvData e, unsigned int command, char* buf, ErlDrvSizeT len, char **rbuf, ErlDrvSizeT rlen) { - /* - * warning: variable ‘desc’ set but not used - * [-Wunused-but-set-variable] - * ... no kidding ... - * - * file_descriptor *desc = (file_descriptor *)e; switch (command) { + case 'K' : + if (rlen < 4) { + *rbuf = EF_ALLOC(4); + } + (*rbuf)[0] = ((desc->key) >> 24) & 0xFF; + (*rbuf)[1] = ((desc->key) >> 16) & 0xFF; + (*rbuf)[2] = ((desc->key) >> 8) & 0xFF; + (*rbuf)[3] = (desc->key) & 0xFF; + return 4; default: return 0; - } - ASSERT(0); - desc = NULL; - */ - return 0; + } } /********************************************************************* |