Malcolm Beattie [Fri, 14 Nov 1997 15:05:57 +0000]
Remove stale code from Thread.xs.
p4raw-id: //depot/perl@251
Malcolm Beattie [Fri, 14 Nov 1997 10:12:40 +0000]
Add delay to signal handling in t/op/magic.t. (Solaris with pthreads
doesn't run handlers for self-sent signals until kill has returned.)
p4raw-id: //depot/perl@250
Malcolm Beattie [Thu, 13 Nov 1997 18:01:27 +0000]
Rewrite thread return code to distinguish between ordinary return
and die() and make join propagate the die. Add tiny method eval
which just does "return eval { shift->join; }". Add Thread::Specific
class for access to thread specific user data along with specific.t.
Rename Class to classname throughout Thread.xs for consistency.
Fix pp_specific to pp_threadsv in global.sym. Add support to
pp_entersub in pp_hot.c to lock stash for static locked methods.
p4raw-id: //depot/perl@248
Malcolm Beattie [Thu, 13 Nov 1997 14:13:30 +0000]
Change CONTEXT to PERL_CONTEXT throughout source (since the #define
to avoid the Digital UNIX clash no longer works). Changed the #ifdef
in pp_sys.c for whether getnet* function get protoyped (since the
default had a broken prototype for getnetbyaddr).
p4raw-id: //depot/perl@247
Malcolm Beattie [Tue, 11 Nov 1997 18:07:30 +0000]
Typo in thread.h: ADD_THREAD_INTERN should be HAVE_THREAD_INTERN
p4raw-id: //depot/perl@233
Malcolm Beattie [Tue, 11 Nov 1997 17:49:12 +0000]
t/TEST (reverted to @229 version) should have been included in the
previous change (231) but my way of recovering it didn't work
properly. The change 231 comments about successful tests applies
to this t/TEST (i.e. as of this change).
p4raw-link: @229 on //depot/perl:
2faa37ccf8e46b865687f0ab4992b29a75eb79ea
p4raw-id: //depot/perl@232
Malcolm Beattie [Tue, 11 Nov 1997 17:46:59 +0000]
Fix up ansiperl integration. Back to passing all expected tests
with usethreads. Untested with non-threaded perl.
p4raw-id: //depot/perl@231
Malcolm Beattie [Tue, 11 Nov 1997 16:36:22 +0000]
Initial integration of ansi branch into mainline (untested).
p4raw-id: //depot/perl@230
Malcolm Beattie [Tue, 11 Nov 1997 15:20:43 +0000]
Change name of OP_SPECIFIC to OP_THREADSV. Fixed perl_get_sv when
getting per-thread magicals. Fixed thr->errsv initialisation.
p4raw-id: //depot/perl@229
Malcolm Beattie [Tue, 11 Nov 1997 12:48:26 +0000]
Fix up $@ (ERRSV now refers to GvSV(errgv) for non-threaded perl and
thr->errsv for threaded perl). Fix pp_tie and pp_dbmopen to use
GvCV(gv) instead of gv so AUTOLOAD stuff works. All tests now pass
again for non-threaded perl. Enhanced perl_get_sv to return
per-thread magicals where necessary for threaded perl.
p4raw-id: //depot/perl@228
Nick Ing-Simmons [Sun, 9 Nov 1997 21:46:06 +0000]
Conditionalize english.t,
Enhance times() for NT,
(Failed) attempt to implement alarm(),
Fixed config.h dependancy in makefile.mk
p4raw-id: //depot/ansiperl@219
Nick Ing-Simmons [Sun, 9 Nov 1997 15:38:00 +0000]
Dick Hardt's patch for build on Alpha
p4raw-id: //depot/ansiperl@218
Nick Ing-Simmons [Sun, 9 Nov 1997 03:31:20 +0000]
MakeMaker not in vofig noise fix for dmake
p4raw-id: //depot/ansiperl@217
Nick Ing-Simmons [Sun, 9 Nov 1997 03:15:06 +0000]
Fix 'anydbm.t' - if the gv is passed 1st call to inherited
TIEHASH works, but 2nd call (after db is closed, attempt
to reopen) tries to AUTOLOAD TIEHASH rather than using
cached value.
p4raw-id: //depot/ansiperl@216
Nick Ing-Simmons [Sat, 8 Nov 1997 16:41:24 +0000]
Cleanup MakeMaker 'not in config' noise
p4raw-id: //depot/ansiperl@215
Nick Ing-Simmons [Sat, 8 Nov 1997 15:07:24 +0000]
Remove 'configure' leaving configure.gnu and Configure
Win32 ignores case and keeps trying to update
repository copy of 'configure' or 'Configure' with
the other.
p4raw-id: //depot/ansiperl@214
Nick Ing-Simmons [Sat, 8 Nov 1997 15:03:39 +0000]
Get threads working again on Win32
Root cause of fail was init_thread_intern() in
new_struct_thread() (which is called in parent thread)
clobbering dTHR of parent thread.
It is doubtfull if setting 'self' in new_struct_thread()
is 'right' but left in for now.
p4raw-id: //depot/ansiperl@213
Nick Ing-Simmons [Sat, 8 Nov 1997 00:34:03 +0000]
Add :base_thread to :default in Opcode.pm
This allows lib/safe.t to pass when threaded.
It is unclear if 'lock' should be safe as it allows
denial of service attack, but could not figure out
how to add just 'specific' (sic) to :default
without triggering 'already tagged' warning noise.
p4raw-id: //depot/ansiperl@212
Nick Ing-Simmons [Fri, 7 Nov 1997 23:59:31 +0000]
Merge changes as of 18:00 CST
p4raw-id: //depot/ansiperl@211
Nick Ing-Simmons [Fri, 7 Nov 1997 23:52:35 +0000]
Reverse integrate Malcolm's chanes into local
repository, then import result back into my view
of Malcolm's repository.
Builds and passes (most) tests with GNU C++/Solaris
and Borland C++, Win32.
p4raw-id: //depot/ansiperl@210
Malcolm Beattie [Fri, 7 Nov 1997 18:12:36 +0000]
Change pp_tie and pp_dbmopen to use perl_call_sv instead of a
DIY pp_entersub (in preparation for AUTOLOAD change). dbmopen
not tested. ofslen now maps to thr->Tofslen in thread.h. Added
missing #ifdef USE_THREADS around some DEBU_L statements in die().
Building without USE_THREADS fails quite a lot of tests. It looks
as though the move to per-thread magicals must be missing some
#ifdef USE_THREADS.
p4raw-id: //depot/perl@209
Nick Ing-Simmons [Fri, 7 Nov 1997 01:37:28 +0000]
Raw integrate of latest perl
p4raw-id: //depot/ansiperl@208
Malcolm Beattie [Thu, 6 Nov 1997 14:58:00 +0000]
Update README.threads and Todo.5.005.
p4raw-id: //depot/perl@207
Malcolm Beattie [Thu, 6 Nov 1997 14:37:37 +0000]
Remove #ifdef DEPRECATED stuff: newXSUB, pp_entersubr, FREE_TMPS().
p4raw-id: //depot/perl@206
Malcolm Beattie [Thu, 6 Nov 1997 14:31:38 +0000]
Per-thread magicals now stored in their own thr->magicals and keyed
more directly. cvcache and oursv become ordinary struct thread
fields instead of #defined thr->Tfoo ones. SvREFCNT_inc now checks
for 0 again. Main thread initialisation done by new function
init_main_thread instead of (now fixed) new_struct_thread.
p4raw-id: //depot/perl@205
Malcolm Beattie [Wed, 5 Nov 1997 17:18:18 +0000]
Per-thread magicals mostly working (and localisable). Now getting
intermittent occasional "Use of uninitialized value" warnings
which may be due to some op flag black magic I've broken.
p4raw-id: //depot/perl@204
Nick Ing-Simmons [Wed, 5 Nov 1997 01:04:10 +0000]
Builds C++ Borland, MSVC++ (Win32) and GCC++ (Solaris)
p4raw-id: //depot/ansiperl@203
Nick Ing-Simmons [Wed, 5 Nov 1997 00:50:27 +0000]
Compile(d) at least once with threads on win32
but did not work
p4raw-id: //depot/ansiperl@202
Nick Ing-Simmons [Wed, 5 Nov 1997 00:32:13 +0000]
Trivial integrate
p4raw-id: //depot/ansiperl@201
Malcolm Beattie [Tue, 4 Nov 1997 12:06:09 +0000]
Up patchlevel to 5.004_54 (I missed _53 for the last release).
p4raw-id: //depot/perl@200
Nick Ing-Simmons [Sat, 1 Nov 1997 00:18:52 +0000]
Integrate mainline @ 18:15 CST 31 Oct 1997
p4raw-id: //depot/ansiperl@199
Nick Ing-Simmons [Sat, 1 Nov 1997 00:08:33 +0000]
win32thread.* not in MANIFEST which has muddled moving
back and forth between depots.
p4raw-id: //depot/ansiperl@198
Nick Ing-Simmons [Sat, 1 Nov 1997 00:02:49 +0000]
Test changes
p4raw-id: //depot/ansiperl@197
Nick Ing-Simmons [Fri, 31 Oct 1997 23:54:01 +0000]
Further ANSI changes now builds and passes (most) tests
with gcc -x c++.
p4raw-id: //depot/ansiperl@196
Malcolm Beattie [Fri, 31 Oct 1997 18:05:31 +0000]
Half way through moving per-thread magicals into per-thread fields
and the associated new OP_SPECIFIC and find_thread_magical stuff.
perl will compile but plenty of the magicals are still broken.
p4raw-id: //depot/perl@195
Nick Ing-Simmons [Fri, 31 Oct 1997 01:43:49 +0000]
Convert miniperl sources to ANSI C. Several passes of
GNU C's 'protoize' plus a few hand edits.
Will compile miniperl with gcc -x c++ (i.e. treat .c a C++ files)
Does not link seems gcc's C++ does not define a symbol for
const char foo[] = "....";
i.e. with empty [].
p4raw-id: //depot/ansiperl@194
Nick Ing-Simmons [Thu, 30 Oct 1997 03:00:01 +0000]
Make the ansi branch
p4raw-id: //depot/ansiperl@193
Malcolm Beattie [Wed, 29 Oct 1997 14:39:54 +0000]
Remove global macro "self". Change thr->Tself to thr->self.
p4raw-id: //depot/perl@190
Malcolm Beattie [Wed, 29 Oct 1997 12:49:01 +0000]
Add to Todo: compiler with fake SvCUR in comppad_name entries.
p4raw-id: //depot/perl@189
Malcolm Beattie [Wed, 29 Oct 1997 12:45:02 +0000]
Change peep() to optimise away unneeded rv2av in lval->[] and lval->{}
p4raw-id: //depot/perl@187
Malcolm Beattie [Wed, 29 Oct 1997 12:43:36 +0000]
Move compiler OP class information into opcode.pl.
p4raw-id: //depot/perl@186
Malcolm Beattie [Fri, 24 Oct 1997 17:14:00 +0000]
Remove xcv_condp CV field which is no longer used.
p4raw-id: //depot/perl@174
Malcolm Beattie [Fri, 24 Oct 1997 14:36:09 +0000]
Patches for VMS [Dan Sugalski]
p4raw-id: //depot/perl@173
Malcolm Beattie [Fri, 24 Oct 1997 13:50:59 +0000]
Improve internal threading API. Introduce win32/win32thread.[ch]
to use new API and patch win32 makefile stuff a little.
p4raw-id: //depot/perl@172
Malcolm Beattie [Thu, 23 Oct 1997 14:00:27 +0000]
Fix pp_hot.c:get_db_sub core dump when perl debugger used.
p4raw-id: //depot/perl@171
Malcolm Beattie [Thu, 23 Oct 1997 09:22:40 +0000]
Fix refcounts for lock/magic_mutexfree. Make OP_LOCK auto-ref
its argument using ck_rfun as OP_DEFINED. Make pp_lock return
a ref to its argument for AV, HV, CV.
p4raw-id: //depot/perl@170
Nick Ing-Simmons [Sat, 18 Oct 1997 02:52:44 +0000]
Make lib/Bundle/CPAN.pm a text file
p4raw-id: //depot/perl@156
Malcolm Beattie [Thu, 16 Oct 1997 16:52:55 +0000]
Add newly moved perl/ext/Thread/... files to MANIFEST.
p4raw-id: //depot/perl@142
Malcolm Beattie [Thu, 16 Oct 1997 16:42:13 +0000]
Move perlext/Thread into perl/ext/Thread.
p4raw-id: //depot/perl@141
Malcolm Beattie [Thu, 16 Oct 1997 16:26:53 +0000]
Correct threads_mutex locking in main thread destruction.
Add per-interp thrsv to hold SV struct thread for main thread.
Move Thread.xs MUTEX_DESTROY from end of threadstart to remove_thread.
Add Thread/list.t test of Thread->list method.
Let Thread::Semaphore methods up and down take an extra argument.
p4raw-id: //depot/perl@140
Malcolm Beattie [Thu, 16 Oct 1997 16:26:53 +0000]
Correct threads_mutex locking in main thread destruction.
Add per-interp thrsv to hold SV struct thread for main thread.
Move Thread.xs MUTEX_DESTROY from end of threadstart to remove_thread.
Add Thread/list.t test of Thread->list method.
Let Thread::Semaphore methods up and down take an extra argument.
p4raw-id: //depot/perlext/Thread@140
Malcolm Beattie [Thu, 16 Oct 1997 14:01:11 +0000]
Fix up merge with 5.004_04.
p4raw-id: //depot/perl@139
Malcolm Beattie [Thu, 16 Oct 1997 11:09:25 +0000]
Merge maint-5.004 branch (5.004_04) with mainline.
p4raw-id: //depot/perl@137
Malcolm Beattie [Wed, 15 Oct 1997 17:02:38 +0000]
Remove out-of-date test Thread/cond.t.
p4raw-id: //depot/perlext/Thread@132
Malcolm Beattie [Wed, 15 Oct 1997 16:57:45 +0000]
Finish thread state machine: fixes global destruction of threads,
detaching, joining etc. Alter FAKE_THREADS-specific fields to use
new HAVE_THREAD_INTERN stuff. Updates docs. Various fixes to
Thread.xs.
p4raw-id: //depot/perl@131
Malcolm Beattie [Wed, 15 Oct 1997 16:57:45 +0000]
Finish thread state machine: fixes global destruction of threads,
detaching, joining etc. Alter FAKE_THREADS-specific fields to use
new HAVE_THREAD_INTERN stuff. Updates docs. Various fixes to
Thread.xs.
p4raw-id: //depot/perlext/Thread@131
Malcolm Beattie [Wed, 15 Oct 1997 16:55:10 +0000]
Add HAVE_THREAD_INTERN for platform-dependent struct thread additions.
Fix ThrSETSTATE not to lock t->mutex itself.
p4raw-id: //depot/perl@130
Malcolm Beattie [Wed, 15 Oct 1997 16:53:35 +0000]
Remove stale code from pp_entersub which breaks sub ownership locks.
p4raw-id: //depot/perl@129
Tim Bunce [Wed, 15 Oct 1997 15:55:26 +0000]
Maintenance 5.004_04 changes
p4raw-id: //depot/maint-5.004/perl@128
Malcolm Beattie [Wed, 15 Oct 1997 10:00:18 +0000]
Added fakethr.h.
p4raw-id: //depot/perl@127
Malcolm Beattie [Wed, 15 Oct 1997 09:50:57 +0000]
pthread_condattr_init in thread.h for OLD_PTHREADS_API.
p4raw-id: //depot/perl@126
Malcolm Beattie [Wed, 15 Oct 1997 09:09:24 +0000]
Started rewriting thread state machine.
p4raw-id: //depot/perlext/Thread@125
Malcolm Beattie [Wed, 15 Oct 1997 09:09:24 +0000]
Started rewriting thread state machine.
p4raw-id: //depot/perl@125
Malcolm Beattie [Fri, 10 Oct 1997 17:23:41 +0000]
Tweak a few Thread tests.
p4raw-id: //depot/perlext/Thread@121
Malcolm Beattie [Fri, 10 Oct 1997 17:22:46 +0000]
Rewrite thread destruction system using linked list of threads.
Still not completely done. Add methods self, equal, flags, list
to Thread.xs. Add Thread_MAGIC_SIGNATURE check to typemap.
p4raw-id: //depot/perl@120
Malcolm Beattie [Fri, 10 Oct 1997 17:22:46 +0000]
Rewrite thread destruction system using linked list of threads.
Still not completely done. Add methods self, equal, flags, list
to Thread.xs. Add Thread_MAGIC_SIGNATURE check to typemap.
p4raw-id: //depot/perlext/Thread@120
Malcolm Beattie [Fri, 10 Oct 1997 17:19:55 +0000]
Fix up locking/synchronisation for pp_entersub.
p4raw-id: //depot/perl@119
Malcolm Beattie [Fri, 10 Oct 1997 09:55:32 +0000]
Put back entries in MANIFEST for the four now-returned win32/* files
p4raw-id: //depot/perl@118
Malcolm Beattie [Fri, 10 Oct 1997 08:12:23 +0000]
Took out mystack_foo for good, fixed up interp.sym and win32/makedef.pl
p4raw-id: //depot/perl@117
Malcolm Beattie [Wed, 8 Oct 1997 15:41:08 +0000]
Add missing sig_pipe definition to Thread.xs.
p4raw-id: //depot/perlext/Thread@116
Malcolm Beattie [Wed, 8 Oct 1997 15:40:46 +0000]
Fix up 5.004_03 merge: remove missing win32 files from MANIFEST,
add missing dTHR; to new function unwind_handler_stack() in mg.c
and bump patchlevel.h to 5.004_52.
p4raw-id: //depot/perl@115
Malcolm Beattie [Wed, 8 Oct 1997 10:19:27 +0000]
Merge maint-5.004 branch (5.004_03) with mainline.
MANIFEST is out of sync.
p4raw-id: //depot/perl@114
Malcolm Beattie [Sun, 5 Oct 1997 17:52:49 +0000]
Move init of global mutexes/cond vars earlier.
p4raw-id: //depot/perl@113
Malcolm Beattie [Fri, 3 Oct 1997 17:12:33 +0000]
Remove last traces of "tokenbuf as temp buffer" and removed it
from struct thread. Added missing thr->Tfoo defines for statbuf
and timesbuf and removed unused Tbuf field.
p4raw-id: //depot/perl@106
Malcolm Beattie [Fri, 3 Oct 1997 15:23:25 +0000]
Back out sv_bless3 change which made pp_bless zap '~'-magic.
p4raw-id: //depot/perl@104
Malcolm Beattie [Fri, 3 Oct 1997 15:17:39 +0000]
Fixed sv_mutex locking for new_SV, del_SV and nice_chunks.
p4raw-id: //depot/perl@103
Malcolm Beattie [Fri, 3 Oct 1997 11:53:51 +0000]
Reliable thread signal handling.
p4raw-id: //depot/perlext/Thread@102
Malcolm Beattie [Fri, 3 Oct 1997 11:53:51 +0000]
Reliable thread signal handling.
p4raw-id: //depot/perl@102
Malcolm Beattie [Thu, 2 Oct 1997 17:23:48 +0000]
Added Thread/queue.t.
p4raw-id: //depot/perlext/Thread@99
Malcolm Beattie [Thu, 2 Oct 1997 17:19:44 +0000]
Bumped patchlevel to 51. Updated Todo.5.005.
p4raw-id: //depot/perl@98
Malcolm Beattie [Thu, 2 Oct 1997 17:07:47 +0000]
Update README.threads amd Thread/README
p4raw-id: //depot/perlext/Thread@97
Malcolm Beattie [Thu, 2 Oct 1997 17:07:47 +0000]
Update README.threads amd Thread/README
p4raw-id: //depot/perl@97
Malcolm Beattie [Thu, 2 Oct 1997 16:58:47 +0000]
Configure -Dusethreads hints for dec_osf and solaris_2 and
fix sv_bless3 prototype.
p4raw-id: //depot/perl@96
Malcolm Beattie [Thu, 2 Oct 1997 16:50:21 +0000]
Fixed broken typemap for Thread.
p4raw-id: //depot/perlext/Thread@95
Malcolm Beattie [Thu, 2 Oct 1997 13:44:46 +0000]
Add Todo.5.005 to MANIFEST and submit remade embed.h.
p4raw-id: //depot/perl@93
Malcolm Beattie [Thu, 2 Oct 1997 13:27:10 +0000]
Add Todo.5.005
p4raw-id: //depot/perl@92
Malcolm Beattie [Wed, 1 Oct 1997 17:04:12 +0000]
Start of Configure support for -Dusethreads plus associated
Linux hints.
p4raw-id: //depot/perl@88
Malcolm Beattie [Wed, 1 Oct 1997 17:03:34 +0000]
Move runops_foo prototypes from proto.h to early in perl.h.
p4raw-id: //depot/perl@87
Malcolm Beattie [Tue, 30 Sep 1997 15:11:07 +0000]
Merge maint-5.004 branch (5.004_01) with mainline.
p4raw-id: //depot/perl@84
Tim Bunce [Tue, 30 Sep 1997 14:27:09 +0000]
Maintenance 5.004_03 changes (addendum)
p4raw-id: //depot/maint-5.004/perl@83
Tim Bunce [Tue, 30 Sep 1997 14:11:29 +0000]
Maintenance 5.004_03 changes
p4raw-id: //depot/maint-5.004/perl@82
Tim Bunce [Tue, 30 Sep 1997 13:17:27 +0000]
Maintenance 5.004_02 changes
p4raw-id: //depot/maint-5.004/perl@81
Malcolm Beattie [Mon, 29 Sep 1997 16:57:23 +0000]
Re-introduce the changes from change 68 (runops becomes a
function pointer and sv_bless3 for '~'-magic) which got lost
during the preparation for the maint-merge.
p4raw-id: //depot/perl@78
Malcolm Beattie [Mon, 29 Sep 1997 16:44:16 +0000]
Start merge with maint-5.004 branch by creating an ancestral
branch point via a fake resolution with the maint-merge branch.
See Perforce Tech Note 9 for details.
p4raw-id: //depot/perl@77
Malcolm Beattie [Mon, 22 Sep 1997 16:02:37 +0000]
struct thread now stored in an SV and uses '~'-magic for access.
p4raw-id: //depot/perlext/Thread@69
Malcolm Beattie [Mon, 22 Sep 1997 16:02:37 +0000]
struct thread now stored in an SV and uses '~'-magic for access.
p4raw-id: //depot/perl@69
Malcolm Beattie [Mon, 22 Sep 1997 16:01:48 +0000]
runops becomes a funtion pointer and sv_bless3 created
to avoid pointer forgery with '~'-magic.
p4raw-id: //depot/perl@68
Malcolm Beattie [Mon, 22 Sep 1997 15:45:56 +0000]
More fprintf -> PerlIO_printf changes.
p4raw-id: //depot/perl@67
Malcolm Beattie [Mon, 22 Sep 1997 15:10:40 +0000]
Minor multi-threading patches for VMS.
p4raw-id: //depot/perl@66
Malcolm Beattie [Wed, 10 Sep 1997 16:39:41 +0000]
Debugging output for lock handling.
p4raw-id: //depot/perl@64