diff options
author | Rickard Green <[email protected]> | 2013-02-09 13:45:43 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2013-02-13 12:22:56 +0100 |
commit | 69b00e333d7759ab641a53cedf4d13f1919fb00b (patch) | |
tree | 9bf3b232c23a8932ae6496ab63da834db9cb31fb /erts/emulator/sys/unix/sys.c | |
parent | 9acad61e2bfa3e281e5e17e087811c8b1006165f (diff) | |
download | otp-69b00e333d7759ab641a53cedf4d13f1919fb00b.tar.gz otp-69b00e333d7759ab641a53cedf4d13f1919fb00b.tar.bz2 otp-69b00e333d7759ab641a53cedf4d13f1919fb00b.zip |
Fix driver port accesses
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); |