diff options
Diffstat (limited to 'ext/threads')
-rwxr-xr-x | ext/threads/threads.pm | 7 | ||||
-rwxr-xr-x | ext/threads/threads.xs | 18 |
2 files changed, 19 insertions, 6 deletions
diff --git a/ext/threads/threads.pm b/ext/threads/threads.pm index b708de4461..506b2471c7 100755 --- a/ext/threads/threads.pm +++ b/ext/threads/threads.pm @@ -24,18 +24,13 @@ our @EXPORT = qw( ); our $VERSION = '0.05'; -sub new { - my $class = shift; - return $class->create(@_); -} - sub equals { return 1 if($_[0]->tid() == $_[1]->tid()); return 0; } -$Config::threads = 1; +$threads::threads = 1; bootstrap threads $VERSION; diff --git a/ext/threads/threads.xs b/ext/threads/threads.xs index 56c046d0c2..a4e22ec966 100755 --- a/ext/threads/threads.xs +++ b/ext/threads/threads.xs @@ -332,6 +332,24 @@ create (class, function_to_call, ...) RETVAL SV * +new (class, function_to_call, ...) + char * class + SV * function_to_call + CODE: + AV* params = newAV(); + if(items > 2) { + int i; + for(i = 2; i < items ; i++) { + av_push(params, ST(i)); + } + } + RETVAL = Perl_thread_create(class, function_to_call, newRV_noinc((SV*) params)); + OUTPUT: + RETVAL + + + +SV * self (class) char* class CODE: |