Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: touch() crashes Xorg

by irirgem (Novice)
on Sep 29, 2012 at 03:55 UTC ( #996329=note: print w/replies, xml ) Need Help??

in reply to touch() crashes Xorg

Interesting question
I don't have a direct answer, but do have some ideas...

File::Touch uses the following sub to do the work:
if (-e $file){ my $sb = stat($file) or croak("Could not stat ($file): $!"); $atime = $sb->atime; $mtime = $sb->mtime; } else { unless ($self->{_no_create}){ sysopen my $fh,$file,$SYSOPEN_MODE or croak("Can't create $fil +e : $!"); close $fh or croak("Can't close $file : $!"); $atime = $time; $mtime = $time; } }
ExtUtils::Command uses:
sub touch { my $t = time; expand_wildcards(); foreach my $file (@ARGV) { open(FILE,">>$file") || die "Cannot write $file:$!"; close(FILE); utime($t,$t,$file); } }
However I can't seem to find what touch() is being used in the case above, but as you can see, the two modules above use a different method to do the work... maybe in that lies the mystery.

Replies are listed 'Best First'.
Re^2: touch() crashes Xorg
by jbryan (Acolyte) on Sep 29, 2012 at 14:56 UTC
    Interesting - thanks for showing that code. However, as far as I know, until I added 'use File::Touch', neither of those modules were in use - and nothing (that I know of) should have exported a symbol called 'touch' into my namespace.

    I guess the question might be - is there some debug/devel tool that I can use to tell me what I would call if I called touch in that context? E.g. perhaps the source file that the symbol originates from?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://996329]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2018-03-19 00:20 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (231 votes). Check out past polls.