summaryrefslogtreecommitdiff
path: root/runtime/ops/os.rs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ops/os.rs')
-rw-r--r--runtime/ops/os.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/runtime/ops/os.rs b/runtime/ops/os.rs
index c74a423ab..37da410ca 100644
--- a/runtime/ops/os.rs
+++ b/runtime/ops/os.rs
@@ -22,6 +22,7 @@ pub fn init(maybe_exit_code: Option<Arc<AtomicI32>>) -> Extension {
op_exit::decl(),
op_delete_env::decl(),
op_get_env::decl(),
+ op_getgid::decl(),
op_getuid::decl(),
op_hostname::decl(),
op_loadavg::decl(),
@@ -227,6 +228,22 @@ fn op_system_memory_info(
#[cfg(not(windows))]
#[op]
+fn op_getgid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
+ super::check_unstable(state, "Deno.getGid");
+ state.borrow_mut::<Permissions>().env.check_all()?;
+ unsafe { Ok(Some(libc::getgid())) }
+}
+
+#[cfg(windows)]
+#[op]
+fn op_getgid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
+ super::check_unstable(state, "Deno.getGid");
+ state.borrow_mut::<Permissions>().env.check_all()?;
+ Ok(None)
+}
+
+#[cfg(not(windows))]
+#[op]
fn op_getuid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
super::check_unstable(state, "Deno.getUid");
state.borrow_mut::<Permissions>().env.check_all()?;