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/beam/erl_port_task.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/beam/erl_port_task.c')
-rw-r--r-- | erts/emulator/beam/erl_port_task.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_port_task.c b/erts/emulator/beam/erl_port_task.c index 8cf8128ab8..9687db4780 100644 --- a/erts/emulator/beam/erl_port_task.c +++ b/erts/emulator/beam/erl_port_task.c @@ -685,12 +685,12 @@ enqueue_proc2port_data(Port *pp, void erl_drv_busy_msgq_limits(ErlDrvPort dport, ErlDrvSizeT *lowp, ErlDrvSizeT *highp) { - Port *pp = erts_drvport2port(dport, NULL); - ErtsPortTaskBusyPortQ *bpq = pp->sched.taskq.bpq; + Port *pp = erts_drvport2port(dport); + ErtsPortTaskBusyPortQ *bpq; int written = 0, resume_procs = 0; ErlDrvSizeT low, high; - if (!pp || !bpq) { + if (pp == ERTS_INVALID_ERL_DRV_PORT || !(bpq = pp->sched.taskq.bpq)) { if (lowp) *lowp = ERL_DRV_BUSY_MSGQ_DISABLED; if (highp) |