diff options
author | Patrik Nyblom <[email protected]> | 2011-12-02 15:27:13 +0100 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2011-12-02 15:27:40 +0100 |
commit | 0d273c54d93fd0ddf03f98d138f302442a0f65f9 (patch) | |
tree | 635977fc0ef2b8236c9d619c014a8b9f1d07af42 /erts/emulator/beam/io.c | |
parent | 86cd971ea4fee5fb596cd06e0dc8da60f4cf65d1 (diff) | |
parent | 42286b769c3cb6b9f8dd2dccf31e4232d6795d4e (diff) | |
download | otp-0d273c54d93fd0ddf03f98d138f302442a0f65f9.tar.gz otp-0d273c54d93fd0ddf03f98d138f302442a0f65f9.tar.bz2 otp-0d273c54d93fd0ddf03f98d138f302442a0f65f9.zip |
Merge branch 'pan/win64-port'
* pan/win64-port:
Update static cache
Back to not using 32bit time_t
Remove ancient WaitForInputIdle workaround
Iron out bugs in Win64 found in daily builds
Make Win64 build work both under MSYS and Cygwin
Fix aclocal.m4 to override changes in opu
Make whole of OTP build and release on Win64
Get cerl and distribution working in Win64
Get working prompt in Win64 using bootstrap code
Build Win64 Erlang emulator using MSYS
Add static win64 cache
OTP-9130
OTP-9766
Diffstat (limited to 'erts/emulator/beam/io.c')
-rw-r--r-- | erts/emulator/beam/io.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c index 132dc78515..c2cc03509e 100644 --- a/erts/emulator/beam/io.c +++ b/erts/emulator/beam/io.c @@ -445,7 +445,7 @@ setup_port(Port* prt, Eterm pid, erts_driver_t *driver, prt->control_flags = 0; prt->connected = pid; - prt->drv_data = (long) drv_data; + prt->drv_data = (SWord) drv_data; prt->bytes_in = 0; prt->bytes_out = 0; prt->dist_entry = NULL; @@ -648,7 +648,7 @@ erts_open_driver(erts_driver_t* driver, /* Pointer to driver. */ if (IS_TRACED_FL(port, F_TRACE_SCHED_PORTS)) { trace_sched_ports_where(port, am_out, am_start); } - if (error_number_ptr && ((long) drv_data) == (long) -2) + if (error_number_ptr && ((SWord) drv_data) == (SWord) -2) *error_number_ptr = errno; #ifdef ERTS_SMP if (port->xports) @@ -657,10 +657,10 @@ erts_open_driver(erts_driver_t* driver, /* Pointer to driver. */ #endif } - if (((long)drv_data) == -1 || - ((long)drv_data) == -2 || - ((long)drv_data) == -3) { - int res = (int) ((long) drv_data); + if (((SWord)drv_data) == -1 || + ((SWord)drv_data) == -2 || + ((SWord)drv_data) == -3) { + int res = (int) ((SWord) drv_data); if (res == -3 && error_number_ptr) { *error_number_ptr = BADARG; @@ -689,7 +689,7 @@ erts_open_driver(erts_driver_t* driver, /* Pointer to driver. */ erts_port_release(port); return res; } - port->drv_data = (long) drv_data; + port->drv_data = (SWord) drv_data; return port_ix; } @@ -3083,7 +3083,7 @@ driver_deliver_term(ErlDrvPort port, Binary* bp = erts_bin_nrml_alloc(size); ASSERT(bufp); bp->flags = 0; - bp->orig_size = (long) size; + bp->orig_size = (SWord) size; erts_refc_init(&bp->refc, 1); sys_memcpy((void *) bp->orig_bytes, (void *) bufp, size); pbp = (ProcBin *) hp; @@ -3449,7 +3449,7 @@ driver_alloc_binary(int size) return NULL; /* The driver write must take action */ bin->flags = BIN_FLAG_DRV; erts_refc_init(&bin->refc, 1); - bin->orig_size = (long) size; + bin->orig_size = (SWord) size; return Binary2ErlDrvBinary(bin); } @@ -4076,7 +4076,7 @@ drv_cancel_timer(Port *prt) erts_port_task_abort(prt->id, &prt->timeout_task); } -int driver_set_timer(ErlDrvPort ix, UWord t) +int driver_set_timer(ErlDrvPort ix, unsigned long t) { Port* prt = erts_drvport2port(ix); |