, then it is sufficient to block all signals while in the signal
| handler (and this can be accomplished with no additional overhead by
| doing sigfillset(action.sa_mask) before using 'action' to set up
| the signal handler).
Hope that helps,
--
Alan Burlison
--
to dry
deserts and make them safe for camel caravans. :)
I'll be at yapc::eu
--
Alan Burlison
--
, drop the lock then reenable signals.
--
Alan Burlison
--
to me. Some compilers
may choose to reorder even without optimization turned on. I'd say that it
is a bug in Parrot if it requires optimization to be off for this code - how
many different compilers have you tried?
--
Alan Burlison
--
the necessary
mutexes/cvs to enforce these assumptions, it is very unlikely to work on
large SMP machines, for example.
--
Alan Burlison
--
!
--
Alan Burlison
--
$ head -1 /dev/bollocks
visioneer 24/365 niches
LP64, i.e. virtually all 64-bit address
space platforms.
Sparc is just one example.
--
Alan Burlison
--
$ head -1 /dev/bollocks
refactor service-led meta-services, going forwards
This is a really useful feature because it means that you don't need huge
lookup tables to convert from the numeric to the string version of a
constant - it is both at the same time.
--
Alan Burlison
--
$ head -1 /dev/bollocks
immutably engage omnipresent server-centric drivers
anyone said 'Jam' on this thread yet? Jam is a platform-independent
make replacement, see http://www.perforce.com/jam/jam.html
--
Alan Burlison
--
$ head -1 /dev/bollocks
build high-visibility pervasive knowledge capital
handler copies the relevant registers onto the
stack - each stack frame has space allocated for this.
Alan Burlison
registers, it's just at some
point they may end up in memory. That's not the same as indexing into
memory on every access.
Alan Burlison
Dave Mitchell wrote:
quote
All entities should be prefixed with the name of the subsystem they appear
in, eg Cpmc_foo(), Cstruct io_bar. They should be further prefixed
with the word 'perl' if they have external visibility or linkage,
/quote
Duh! Missed it. Thanks.
Alan Burlison
, in the case of perl it has turned from abstraction into
obfustification.
Alan Burlison
I see nothing about namespacing, e.g. Perl_
Alan Burlison
Uri Guttman wrote:
malloc normally doesn't care about alignment.
I'll think you will find it does care.
Alan Burlison
[EMAIL PROTECTED]
PIT - Perl Intergration Testers
Alan Burlison
Alan Burlison wrote:
I've attached the HTML
Well it was there when I sent it... does this list strip attachments or
something?
Here is is as badly-formatted text - sorry!
Alan Burlison
Appendix A: How Sun WorkShop Memory Monitor Works
Memory management in C/C++ is both time consuming
works with the Sun compilers.
However, there is an explanation of how it works that might be useful
when considering how to do this for perl6. I've attached the HTML -
sorry about the broken links, but I don't think this is on any
externally-visible webpage.
Alan Burlison
. If we're passing in a PMC
pointer, we won't be reallocating the memory pointed to--rather we'll be
reusing it.
So how do you get hold of a PMC from the arena in the first place?
Alan Burlison
Dan Sugalski wrote:
Grab one via a utility function. getPMC() or something of the sort.
newPMC() ? ;-)
Alan Burlison
in "foo\nbar\n". Without DF it could just
as well be "bar\nfoo\n". Make no mistake, this is a major change to the
semantics of perl.
Alan Burlison
n. We may well have to deliberately carry over questionable but
depended-upon behaviour into perl6.
my $fh = do { local *FH; *FH; }
for example, better continue to work.
Alan Burlison
program.
Alan Burlison
. so we code all the internals to an
event loop api and fake it underneath as needed on various
platforms. much more on this soon.
As Jarkko would say:
Yes, yes yes.
:-)
Alan Burlison
ay suffice for perl6) is no use to me
as a perl5 maintainer.
Well, we all have our particular crosses to bear ;-)
At the risk of being boring: Threads in perl5 are irredeemably broken
and should not be used.
Alan Burlison
.
A very sound strategy IMHO.
Alan Burlison
(ff382a50, 20bf8, 0, ff37e000, 0, 0) + 38
ff35d43c _reaper (ff37ee80, ff3847b0, ff382a50, ff37ee58, 1, fe40)
+ 38
ff36b4a0 _thread_start (0, 0, 0, 0, 0, 0) + 40
Alan Burlison
ost likely to be available, well tested and well supported?
Alan Burlison
, that is.
However, having previously been told to shut up on this subject, I now
will.
Alan Burlison
Nathan Torkington wrote:
Alan Burlison writes:
seem a very optimal way to go about it. How about a design document
(format to be decided) and a 'design + commentary' document which is the
design document with the condensed email discussion inserted into it as
the commentary. That way
thing - you can use
it to get the essence of what went on and why, and then drill down to
the meat if you need to.
Alan Burlison
Cs (as you have
identified) with an increasing sense of foreboding, as none of them
seemed to be subject to the effects of natural selection and becoming
extinct.
Once again, Thanks!
Alan Burlison
ncreasingly dismayed by the continuing
stream of RFCs, and in the end felt I had to raise the issue. Having
done so I have been very happy to see the wide consensus that seems to
be appearing.
Alan Burlison
.
It's doomed.
Alan Burlison
hurt enough peoples feelings...
Alan Burlison
correct, so please
don't discard my comments out of hand.
I'm sorry but I really can't stomach watching this slow motion train
wreck any longer, so good luck and goodbye.
Alan Burlison
not have taken
place without an exclusive lock on the variable.)
Then the execution stack and program counter would be reset to the
checkpoint. And then restarted.
Sigh. Think about references. No, think harder. See?
--
Alan Burlison
- anything that can be the target of a
tie is atomic, i.e. for scalars, STORE, FETCH, and DESTROY etc.
--
Alan Burlison
y on
write' semantic should be used so that optrees can be shared cheaply for
the cases where no changes are made to it.
Alan Burlison
to the optree, it could perhaps be freed - sort of
reference-counted optrees. I'm winging it a bit here becasue I don't
know if this is a good idea/vaguely possible/barking mad (choose one).
--
Alan Burlison
tting perl to
guess where they should go.
--
Alan Burlison
I found the following reference in the p5p archives to a paper
discussing open source development. I think this should be mandatory
reading for anyone contemplating a contribution to the RFC mountain.
http://www.firstmonday.dk/issues/issue4_10/bezroukov/index.html
Alan Burlison
nterpreter that ensured
internal consistency. The trouble is if you want to update both $a, %h
and @queue in an atomic fashion - then the application programmer MUST
state his intent to the interpreter by providing explicit locking around
the 3 updates.
--
Alan Burlison
best be solved by keeping the entirety of
such modules private to a single thread. In that case the optree might
also have to be private, and with that and private work area it looks
very much like a full interpreter to me.
--
Alan Burlison
k and wait for the phonecall from
Stockholm ;-)
--
Alan Burlison
it occur to people that if it was easy to add
automatic locking to a threaded language it would have been done long
ago? Although I've seen some pretty whacky Perl6 RFCs, I've yet to see
one that says 'Perl6 should be a major Computer Science research
project'.
--
Alan Burlison
erate on internal data"?
--
Alan Burlison
so that they don't
depend on anything else, but I'm far from persuaded the overall benefit
will be worth the extra complications.
Alan Burlison
have this win:
# Force symbol resolution on startup
$ LD_BIND_NOW=1 ptime perl -e 'exit(0)'
real0.029
user0.021
sys 0.007
# Default lazy linking
$ ptime perl -e 'exit(0)'
real0.019
user0.010
sys 0.007
Alan Burlison
not be shared, but most of it is). Paging involves disks,
and they are orders of magnitude slower than the dynamic linking
overhead. Repeat the excercise with a couple of hundred concurrent
copies of your test. Drawing conclusions based on a single test can be
misleading.
--
Alan Burlison
and Pointers are 64 bit'. There are several
other alternatives too, although most everyone seems to have settled on
LP64. See the paper at
http://www.unix-systems.org/version2/whatsnew/lp64_wp.html
--
Alan Burlison
Solaris Kernel Development, Sun Microsystems
32-bit MSB executable SPARC Version 1, dynamically
linked, not stripped
$ ./t
time_t is 32 bits
$ cc -o t t.c -xarch=v9
$ file t
t: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically
linked, not stripped
$ ./t
time_t is 64 bits
--
Alan Burlison
to
applications.
--
Alan Burlison
53 matches
Mail list logo