summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-11 08:50:13 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-11 08:50:13 +0000
commitd0c6f63804a01618e8f86b3a49fcb85253636964 (patch)
treeac83a5c132b5d3956647d5cba1f1b649288e728d
parentb9e3aa30f78a7734273c83748841776fec2ba7be (diff)
* win32/win32.c, win32/win32.h (rb_w32_getpid): negate pid under Win9x.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--win32/win32.c10
-rw-r--r--win32/win32.h3
3 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e5b584a737..afe7e69c8b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Sep 11 17:47:17 2002 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c, win32/win32.h (rb_w32_getpid): negate pid under Win9x.
+ [ruby-dev:18262]
+
Wed Sep 11 12:58:57 2002 Akinori MUSHA <knu@iDaemons.org>
* string.c (get_pat): Add an extra argument "quote".
diff --git a/win32/win32.c b/win32/win32.c
index d33d023ccd..72bf940bf0 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -2917,3 +2917,13 @@ void rb_w32_free_environ(char **env)
while (*t) free(*t++);
free(env);
}
+
+pid_t rb_w32_getpid(void)
+{
+ pid_t pid;
+
+ pid = _getpid();
+ if (IsWin95()) pid = -pid;
+
+ return pid;
+}
diff --git a/win32/win32.h b/win32/win32.h
index 95a6e4d47f..136706a5ac 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -141,7 +141,7 @@ extern "C++" {
#define umask _umask
#define unlink _unlink
#define write _write
-#define getpid _getpid
+#define getpid rb_w32_getpid
#define sleep(x) rb_w32_sleep((x)*1000)
#define utime _utime
#define vsnprintf _vsnprintf
@@ -201,6 +201,7 @@ extern int gettimeofday(struct timeval *, struct timezone *);
extern pid_t waitpid (pid_t, int *, int);
extern int do_spawn(char *);
extern int kill(int, int);
+extern pid_t rb_w32_getpid(void);
#ifndef __BORLANDC__
extern int isinf(double);
extern int isnan(double);