diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/eval.c | 2 | ||||
-rw-r--r-- | src/fileio.c | 2 | ||||
-rw-r--r-- | src/memline.c | 2 | ||||
-rw-r--r-- | src/os/env.c | 10 | ||||
-rw-r--r-- | src/os/os.h | 5 | ||||
-rw-r--r-- | src/os_unix.c | 8 | ||||
-rw-r--r-- | src/os_unix.h | 1 | ||||
-rw-r--r-- | src/quickfix.c | 2 |
8 files changed, 19 insertions, 13 deletions
diff --git a/src/eval.c b/src/eval.c index 59bdfd45cd..7dd578762c 100644 --- a/src/eval.c +++ b/src/eval.c @@ -9872,7 +9872,7 @@ static void f_getmatches(typval_T *argvars, typval_T *rettv) */ static void f_getpid(typval_T *argvars, typval_T *rettv) { - rettv->vval.v_number = mch_get_pid(); + rettv->vval.v_number = os_get_pid(); } /* diff --git a/src/fileio.c b/src/fileio.c index 4de33243b9..b13b7e5517 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -5730,7 +5730,7 @@ vim_tempname ( * unlikely that it already exists it will be faster, * otherwise it doesn't matter. The use of mkdir() avoids any * security problems because of the predictable number. */ - nr = (mch_get_pid() + (long)time(NULL)) % 1000000L; + nr = (os_get_pid() + (long)time(NULL)) % 1000000L; itmplen = STRLEN(itmp); /* Try up to 10000 different values until we find a name that diff --git a/src/memline.c b/src/memline.c index 01fa71a985..b9de707f60 100644 --- a/src/memline.c +++ b/src/memline.c @@ -347,7 +347,7 @@ int ml_open(buf_T *buf) b0p->b0_uname[B0_UNAME_SIZE - 1] = NUL; mch_get_host_name(b0p->b0_hname, B0_HNAME_SIZE); b0p->b0_hname[B0_HNAME_SIZE - 1] = NUL; - long_to_char(mch_get_pid(), b0p->b0_pid); + long_to_char(os_get_pid(), b0p->b0_pid); if (*buf->b_p_key != NUL) ml_set_b0_crypt(buf, b0p); } diff --git a/src/os/env.c b/src/os/env.c index 9415b19573..034a4ff3a0 100644 --- a/src/os/env.c +++ b/src/os/env.c @@ -50,3 +50,13 @@ char *os_getenvname_at_index(size_t index) # endif } + +long os_get_pid() +{ +#ifdef _WIN32 + return (long)GetCurrentProcessId(); +#else + return (long)getpid(); +#endif +} + diff --git a/src/os/os.h b/src/os/os.h index bc3da1c8ff..1e874c29a5 100644 --- a/src/os/os.h +++ b/src/os/os.h @@ -82,6 +82,11 @@ long_u os_total_mem(int special); const char *os_getenv(const char *name); int os_setenv(const char *name, const char *value, int overwrite); char *os_getenvname_at_index(size_t index); + +/// Get the process ID of the Neovim process. +/// +/// @return the process ID. +long os_get_pid(void); int os_get_usernames(garray_T *usernames); int os_get_user_name(char *s, size_t len); int os_get_uname(uid_t uid, char *s, size_t len); diff --git a/src/os_unix.c b/src/os_unix.c index 7df61f012f..f5bd1006b1 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -424,14 +424,6 @@ void mch_get_host_name(char_u *s, int len) } #endif /* HAVE_SYS_UTSNAME_H */ -/* - * return process ID - */ -long mch_get_pid() -{ - return (long)getpid(); -} - #if defined(USE_FNAME_CASE) || defined(PROTO) /* * Set the case of the file name, if it already exists. This will cause the diff --git a/src/os_unix.h b/src/os_unix.h index ca9d21f0fb..eaa38706ac 100644 --- a/src/os_unix.h +++ b/src/os_unix.h @@ -20,7 +20,6 @@ int vim_is_iris(char_u *name); int vim_is_vt300(char_u *name); int vim_is_fastterm(char_u *name); void mch_get_host_name(char_u *s, int len); -long mch_get_pid(void); void slash_adjust(char_u *p); void fname_case(char_u *name, int len); void mch_copy_sec(char_u *from_file, char_u *to_file); diff --git a/src/quickfix.c b/src/quickfix.c index 05ea75b16f..954f81e72e 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -2605,7 +2605,7 @@ static char_u *get_mef_name(void) /* Keep trying until the name doesn't exist yet. */ for (;; ) { if (start == -1) - start = mch_get_pid(); + start = os_get_pid(); else off += 19; |