[svn:parrot] r48580 - in trunk: . config/gen config/gen/platform/ansi config/gen/platform/generic include/parrot src/pmc

NotFound at svn.parrot.org NotFound at svn.parrot.org
Fri Aug 20 12:42:43 UTC 2010


Author: NotFound
Date: Fri Aug 20 12:42:42 2010
New Revision: 48580
URL: https://trac.parrot.org/parrot/changeset/48580

Log:
experimental Parrot_getpid function, TT #1564

Added:
   trunk/config/gen/platform/ansi/pid.c
   trunk/config/gen/platform/generic/pid.c
Modified:
   trunk/DEPRECATED.pod
   trunk/MANIFEST
   trunk/config/gen/platform.pm
   trunk/include/parrot/platform_interface.h
   trunk/src/pmc/parrotinterpreter.pmc

Modified: trunk/DEPRECATED.pod
==============================================================================
--- trunk/DEPRECATED.pod	Fri Aug 20 11:54:52 2010	(r48579)
+++ trunk/DEPRECATED.pod	Fri Aug 20 12:42:42 2010	(r48580)
@@ -147,6 +147,12 @@
 
 L<https://trac.parrot.org/parrot/ticket/1689>
 
+=item Method getpid on ParrotInterpreter [experimental]
+
+Used to test the experimental function Parrot_getpid
+
+L<https://trac.parrot.org/parrot/ticket/1564>
+
 =back
 
 =head1 Opcodes
@@ -383,6 +389,12 @@
 
 L<https://trac.parrot.org/parrot/ticket/1191>
 
+=item Parrot_getpid [experimental]
+
+Get process id, experimental.
+
+L<https://trac.parrot.org/parrot/ticket/1564>
+
 =back
 
 =head1 Compiler tools

Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST	Fri Aug 20 11:54:52 2010	(r48579)
+++ trunk/MANIFEST	Fri Aug 20 12:42:42 2010	(r48580)
@@ -273,6 +273,7 @@
 config/gen/platform/ansi/dl.c                               []
 config/gen/platform/ansi/exec.c                             []
 config/gen/platform/ansi/io.h                               []
+config/gen/platform/ansi/pid.c                              []
 config/gen/platform/ansi/time.c                             []
 config/gen/platform/cygwin/math.c                           []
 config/gen/platform/darwin/begin.c                          []
@@ -287,6 +288,7 @@
 config/gen/platform/generic/math.c                          []
 config/gen/platform/generic/math.h                          []
 config/gen/platform/generic/memexec.c                       []
+config/gen/platform/generic/pid.c                           []
 config/gen/platform/generic/platform_limits.h               []
 config/gen/platform/generic/signal.c                        []
 config/gen/platform/generic/signal.h                        []

Modified: trunk/config/gen/platform.pm
==============================================================================
--- trunk/config/gen/platform.pm	Fri Aug 20 11:54:52 2010	(r48579)
+++ trunk/config/gen/platform.pm	Fri Aug 20 12:42:42 2010	(r48580)
@@ -197,6 +197,7 @@
         exec.c
         misc.c
         hires_timer.c
+        pid.c
         /;
 
     my $plat_c = q{src/platform.c};

Added: trunk/config/gen/platform/ansi/pid.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/config/gen/platform/ansi/pid.c	Fri Aug 20 12:42:42 2010	(r48580)
@@ -0,0 +1,50 @@
+/* $Id: $
+ * Copyright (C) 2010, Parrot Foundation.
+ */
+
+/*
+
+=head1 NAME
+
+config/gen/platform/ansi/pid.c
+
+=head1 DESCRIPTION
+
+Parrot process id functions.
+
+=head2 Functions
+
+=over 4
+
+=cut
+
+=item C<INTVAL Parrot_getpid(void)>
+
+Parrot wrapper around standard library C<getpid()> function, returning an UINTVAL.
+
+=cut
+
+*/
+
+UINTVAL
+Parrot_getpid(void)
+{
+    Parrot_warn(NULL, PARROT_WARNINGS_PLATFORM_FLAG, "Parrot_getpid unuseful in this platform");
+    return 0;
+}
+
+
+/*
+
+=back
+
+=cut
+
+*/
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Added: trunk/config/gen/platform/generic/pid.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/config/gen/platform/generic/pid.c	Fri Aug 20 12:42:42 2010	(r48580)
@@ -0,0 +1,56 @@
+/* $Id: $
+ * Copyright (C) 2010, Parrot Foundation.
+ */
+
+/*
+
+=head1 NAME
+
+config/gen/platform/generic/pid.c
+
+=head1 DESCRIPTION
+
+Parrot process id functions.
+
+=head2 Functions
+
+=over 4
+
+=cut
+
+*/
+
+#include <sys/types.h>
+#include <unistd.h>
+
+/*
+
+=item C<INTVAL Parrot_getpid(void)>
+
+Parrot wrapper around standard library C<getpid()> function, returning an UINTVAL.
+
+=cut
+
+*/
+
+UINTVAL
+Parrot_getpid(void)
+{
+    return getpid();
+}
+
+
+/*
+
+=back
+
+=cut
+
+*/
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Modified: trunk/include/parrot/platform_interface.h
==============================================================================
--- trunk/include/parrot/platform_interface.h	Fri Aug 20 11:54:52 2010	(r48579)
+++ trunk/include/parrot/platform_interface.h	Fri Aug 20 12:42:42 2010	(r48580)
@@ -49,6 +49,13 @@
 #  define mem_realloc_executable(a, b, c) mem_internal_realloc((a), (c))
 #endif
 
+
+/*
+** Process ID
+*/
+
+UINTVAL Parrot_getpid(void);
+
 /*
 ** Time
 */

Modified: trunk/src/pmc/parrotinterpreter.pmc
==============================================================================
--- trunk/src/pmc/parrotinterpreter.pmc	Fri Aug 20 11:54:52 2010	(r48579)
+++ trunk/src/pmc/parrotinterpreter.pmc	Fri Aug 20 12:42:42 2010	(r48580)
@@ -848,6 +848,10 @@
         RETURN(PMC *handle);
     }
 
+    METHOD getpid() {
+        INTVAL id = Parrot_getpid();
+	RETURN(INTVAL id);
+    }
 
 }
 


More information about the parrot-commits mailing list