diff options
author | Sajjad Hashemian <wolaws@gmail.com> | 2018-09-10 14:18:36 +0430 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-09-10 15:02:07 -0400 |
commit | c2663e1d82521e9b68a7e2e96197030a4ee00c30 (patch) | |
tree | 5223730175f88d24a028b7d1497a6a7312b77683 /src | |
parent | e293c204a07f5a7a862e835f8a5f54f5435f8b91 (diff) |
Implement deno.mkdir()
Diffstat (limited to 'src')
-rw-r--r-- | src/handlers.rs | 13 | ||||
-rw-r--r-- | src/msg.fbs | 4 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/handlers.rs b/src/handlers.rs index 2fff5a06f..7d8fafc10 100644 --- a/src/handlers.rs +++ b/src/handlers.rs @@ -49,7 +49,7 @@ pub extern "C" fn msg_from_js(d: *const DenoC, buf: deno_buf) { msg::Any::TimerStart => handle_timer_start, msg::Any::TimerClear => handle_timer_clear, msg::Any::MakeTempDir => handle_make_temp_dir, - msg::Any::MkdirSync => handle_mkdir_sync, + msg::Any::Mkdir => handle_mkdir, msg::Any::ReadFile => handle_read_file, msg::Any::RenameSync => handle_rename_sync, msg::Any::SetEnv => handle_set_env, @@ -418,18 +418,17 @@ fn handle_make_temp_dir(d: *const DenoC, base: &msg::Base) -> Box<Op> { }())) } -fn handle_mkdir_sync(d: *const DenoC, base: &msg::Base) -> Box<Op> { - let msg = base.msg_as_mkdir_sync().unwrap(); - let path = msg.path().unwrap(); +fn handle_mkdir(d: *const DenoC, base: &msg::Base) -> Box<Op> { + let msg = base.msg_as_mkdir().unwrap(); // TODO let mode = msg.mode(); + let path = msg.path().unwrap(); let deno = from_c(d); - debug!("handle_mkdir_sync {}", path); if !deno.flags.allow_write { return odd_future(permission_denied()); } - - // TODO(ry) use blocking + // TODO Use tokio_threadpool. Box::new(futures::future::result(|| -> OpResult { + debug!("handle_mkdir {}", path); // TODO(ry) Use mode. deno_fs::mkdir(Path::new(path))?; Ok(None) diff --git a/src/msg.fbs b/src/msg.fbs index 77aae8ffb..33278a669 100644 --- a/src/msg.fbs +++ b/src/msg.fbs @@ -14,7 +14,7 @@ union Any { FetchRes, MakeTempDir, MakeTempDirRes, - MkdirSync, + Mkdir, ReadFile, ReadFileRes, RenameSync, @@ -167,7 +167,7 @@ table MakeTempDirRes { path: string; } -table MkdirSync { +table Mkdir { path: string; mode: uint; // mode specified by https://godoc.org/os#FileMode |