diff options
author | Rickard Green <[email protected]> | 2013-02-14 17:39:29 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2013-02-14 17:39:29 +0100 |
commit | 08dde65f70ef2b2218e9350bb4013b40aed65996 (patch) | |
tree | e06948a48b99ab1a999eeb794a7dcd3604be58da /erts/emulator/sys/unix/sys.c | |
parent | 953dffbb4b1497f86004b9bc4e13bf9ed6cc2bed (diff) | |
parent | 56b2a90c7c0e1d9c1e964ee324413d651a37e6e3 (diff) | |
download | otp-08dde65f70ef2b2218e9350bb4013b40aed65996.tar.gz otp-08dde65f70ef2b2218e9350bb4013b40aed65996.tar.bz2 otp-08dde65f70ef2b2218e9350bb4013b40aed65996.zip |
Merge branch 'rickard/r16b/port-optimizations-fixes/OTP-10809'
* rickard/r16b/port-optimizations-fixes/OTP-10809:
Add erl_drv_busy_msgq_limits() to driver API on Windows
Fix driver port accesses
Fix port exit
Diffstat (limited to 'erts/emulator/sys/unix/sys.c')
-rw-r--r-- | erts/emulator/sys/unix/sys.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c index 0b96eded76..dbc163bac1 100644 --- a/erts/emulator/sys/unix/sys.c +++ b/erts/emulator/sys/unix/sys.c @@ -1211,8 +1211,8 @@ static int set_driver_data(ErlDrvPort port_num, report_exit_list = report_exit; } - prt = erts_drvport2port(port_num, NULL); - if (prt) + prt = erts_drvport2port(port_num); + if (prt != ERTS_INVALID_ERL_DRV_PORT) prt->os_pid = pid; if (read_write & DO_READ) { @@ -2650,7 +2650,7 @@ report_exit_status(ErtsSysReportExit *rep, int status) if (rep->ifd >= 0) { driver_data[rep->ifd].alive = 0; driver_data[rep->ifd].status = status; - (void) driver_select((ErlDrvPort) pp, + (void) driver_select(ERTS_Port2ErlDrvPort(pp), rep->ifd, (ERL_DRV_READ|ERL_DRV_USE), 1); @@ -2658,7 +2658,7 @@ report_exit_status(ErtsSysReportExit *rep, int status) if (rep->ofd >= 0) { driver_data[rep->ofd].alive = 0; driver_data[rep->ofd].status = status; - (void) driver_select((ErlDrvPort) pp, + (void) driver_select(ERTS_Port2ErlDrvPort(pp), rep->ofd, (ERL_DRV_WRITE|ERL_DRV_USE), 1); |