| Index: ports/nacl-spawn/nacl_apipe.c
|
| diff --git a/ports/nacl-spawn/nacl_apipe.c b/ports/nacl-spawn/nacl_apipe.c
|
| index 58f01d97eb8dd91072a29d84f8b9ca4a7948f582..c5bc0e1d4332e521625e909e5e001c6805866ee0 100644
|
| --- a/ports/nacl-spawn/nacl_apipe.c
|
| +++ b/ports/nacl-spawn/nacl_apipe.c
|
| @@ -44,8 +44,15 @@ static int apipe_read(
|
| nspawn_dict_setstring(req_var, "command", "nacl_apipe_read");
|
| nspawn_dict_setint(req_var, "pipe_id", info->fh);
|
| nspawn_dict_setint(req_var, "count", count);
|
| + nspawn_dict_setint(req_var, "nonblock",
|
| + (info->flags & O_NONBLOCK) != O_NONBLOCK);
|
|
|
| struct PP_Var result_var = nspawn_send_request(req_var);
|
| + int err = nspawn_dict_getint(result_var, "error");
|
| + if (err != 0) {
|
| + nspawn_var_release(result_var);
|
| + return -err;
|
| + }
|
| struct PP_Var data = nspawn_dict_get(result_var, "data");
|
| assert(data.type == PP_VARTYPE_ARRAY_BUFFER);
|
| uint32_t len;
|
| @@ -103,7 +110,7 @@ static int apipe_release(const char* path, struct fuse_file_info* info) {
|
| struct PP_Var req_var = nspawn_dict_create();
|
| nspawn_dict_setstring(req_var, "command", "nacl_apipe_close");
|
| nspawn_dict_setint(req_var, "pipe_id", info->fh);
|
| - nspawn_dict_setint(req_var, "writer", info->flags == O_WRONLY);
|
| + nspawn_dict_setint(req_var, "writer", (info->flags & O_WRONLY) == O_WRONLY);
|
|
|
| struct PP_Var result_var = nspawn_send_request(req_var);
|
| int ret = nspawn_dict_getint(result_var, "result");
|
|
|