10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a folder called "log" which has a few sub-folders say "fda" "fd7" "fdd" "fd6 .... "
I wish to fire the below command inside each subfolder starting with the folder with the latest time stamp.
grep "$greptime.*exit" Prod.$(hostname).log | grep $fdrdate_new
If the seach did not yield... (3 Replies)
Discussion started by: mohtashims
3 Replies
2. Red Hat
Hi,
I need to mount a replicated nfs4 export on a number of AIX and Redhat hosts. To get the failover on the clients working smoothly, I need to change certain values on the AIX boxes like nfs_v4_fail_over_timeout, timeo and retrans values. Since I have no clue about Linux, I am not quite sure... (1 Reply)
Discussion started by: zxmaus
1 Replies
3. Linux
Hi Guys,
I am used to configuring DHCP on Solaris and foreach subnet added I place a corresponding entry in /etc/netmasks. I am now looking at configuring DHCP on linux, is there an equivalnet entry required somewhere or is this not needed in linux
Thanks (3 Replies)
Discussion started by: eeisken
3 Replies
4. Programming
Hello, I'm writing a multi-threaded socket server in C++ and I needed something like wsaasyncselect to handle messages like fd_accept, fd_read, fd_connect, fd_close.
Thanks in advance. (2 Replies)
Discussion started by: lucastonon
2 Replies
5. Linux
I moved to a Linux system from Windows a few months ago. Most of the programs I had been using were already native to Linux (Firefox, the GIMP, Pari, etc.) and most others I found a close enough program (Crimson Editor -> gedit, Visual Studio -> KDevelop, Primo -> Morain's ECPP).
Now I'm down... (1 Reply)
Discussion started by: CRGreathouse
1 Replies
6. Linux
I have experience with making bootable images of AIX systems using mksysb and wondered if there was some type of equivalent software for Linux. Or perhaps some of the folks here have alternatives or unique ideas for how they are backing up their Linux systems enabling them to recover them as... (13 Replies)
Discussion started by: scotbuff
13 Replies
7. UNIX for Dummies Questions & Answers
What is the equivalent of Solaris snoop in Linux
I could not find snoop in RHEL (2 Replies)
Discussion started by: santosh149
2 Replies
8. UNIX for Advanced & Expert Users
iostat -e gives the soft, hard and transport error information in Solaris.
What is the equivalent command in the other flavors of Unix AIX HP Linux.
Thanks
Prasi (1 Reply)
Discussion started by: prasi_in
1 Replies
9. Shell Programming and Scripting
hi,
In solaris, psrinfo gives number of cpu in use/online and so on.
What is the equivalent command for "psrinfo" in Suse Linux ?
Thx (3 Replies)
Discussion started by: braindrain
3 Replies
10. Linux
hi all,
greetings,
please tell me how to start a java GUI program in the startup of the machine.
since it invokes a GUI is it possiable to entry the same in /etc/rc2.d/S99userdefinedfiles.
thanks in advance .,
:-) (1 Reply)
Discussion started by: raguramtgr
1 Replies
Thread::Queue::Any(3pm) User Contributed Perl Documentation Thread::Queue::Any(3pm)
NAME
Thread::Queue::Any - thread-safe queues for any data-structure
SYNOPSIS
use Thread::Queue::Any;
my $q= Thread::Queue::Any->new;
$q->enqueue("foo", ["bar"], {"zoo"});
my ( $foo, $bar, $zoo )= $q->dequeue;
my ( $foo, $bar, $zoo )= $q->dequeue_dontwait;
my ( $iffoo, $ifbar, $ifzoo)= $q->dequeue_keep;
my $left= $q->pending;
# specify class with "freeze" and "thaw" methods
use Thread::Queue::Any serializer => 'Storable';
# specify custom freeze and thaw subroutines
use Thread::Queue::Any freeze => &solid, thaw => &liquid;
# thaw hook for subclasses
package Thread::Queue::Any::Foo;
@ISA= 'Thread::Queue::Any';
my $THAW= __PACKAGE__->THAW;
VERSION
This documentation describes version 1.12.
DESCRIPTION
*** A note of CAUTION ***
This module only functions if threading has been enabled when building
Perl, or if the "forks" module has been installed on an unthreaded Perl.
*************************
A queue, as implemented by "Thread::Queue::Any" is a thread-safe data structure that inherits from "Thread::Queue". But unlike the
standard "Thread::Queue", you can pass (a reference to) any data structure to the queue.
Apart from the fact that the parameters to "enqueue" are considered to be a set that needs to be enqueued together and that "dequeue"
returns all of the parameters that were enqueued together, this module is a drop-in replacement for "Thread::Queue" in every other aspect.
Any number of threads can safely add elements to the end of the list, or remove elements from the head of the list.
CLASS METHODS
new
$queue= Thread::Queue::Any->new;
The "new" function creates a new empty queue.
THAW
$THAW= $subclass->THAW;
Return the code reference for de-serializing enqueued data. Intended to be used by subclasses only, such as Thread::Queue::Any::Monitored.
OBJECT METHODS
enqueue LIST
$queue->enqueue( 'string', $scalar, [], {} );
The "enqueue" method adds a reference to all the specified parameters on to the end of the queue. The queue will grow as needed.
dequeue
( $string, $scalar, $listref, $hashref )= $queue->dequeue;
$string= $queue->dequeue; # first only in scalar context
The "dequeue" method removes a reference from the head of the queue, dereferences it and returns the resulting values. If the queue is
currently empty, "dequeue" will block the thread until another thread "enqueue"s.
If called in scalar context, only the first value will be returned. This is only recommended if enqueue is always only called with one
parameter.
dequeue_dontwait
( $string, $scalar, $listref, $hashref )= $queue->dequeue_dontwait;
$string= $queue->dequeue_dontwait; # first only in scalar context
The "dequeue_dontwait" method, like the "dequeue" method, removes a reference from the head of the queue, dereferences it and returns the
resulting values. Unlike "dequeue", though, "dequeue_dontwait" won't wait if the queue is empty, instead returning an empty list if the
queue is empty.
For compatibility with Thread::Queue, the name "dequeue_nb" is available as a synonym for this method.
If called in scalar context, only the first value will be returned. This is only recommended if enqueue is always only called with one
parameter.
dequeue_keep
( $string, $scalar, $listref, $hashref )= $queue->dequeue_keep;
$string= $queue->dequeue_keep; # first only in scalar context
The "dequeue_keep" method, like the "dequeue_dontwait" method, takes a reference from the head of the queue, dereferences it and returns
the resulting values. Unlike "dequeue_dontwait", though, the "dequeue_keep" won't remove the set from the queue. It can therefore be used
to test if the next set to be returned from the queue with "dequeue" or "dequeue_dontwait" will have a specific value.
If called in scalar context, only the first value will be returned. This is only recommended if enqueue is always only called with one
parameter.
pending
$pending= $queue->pending;
The "pending" method returns the number of items still in the queue.
USING ANOTHER SERIALIZER
Passing unshared values between threads is accomplished by serializing the specified values when enqueuing and de-serializing the queued
value on equeuing. This allows for great flexibility at the expense of more CPU usage. It also limits what can be passed, as e.g. code
references can not be serialized with the default serializer and therefore not be passed.
By default, the Storable module is used to serialize data. If you want to use a different serializer, you can specify this when you load
this module with the "serializer" parameter:
use Thread::Queue::Any serializer => 'Thread::Serialize';
The value of the parameter is the name of the class that will provide a "freeze" and "thaw" subroutine. It will be automatically loaded if
specified.
If you happen to have subroutines in another module with a different name, you can also specify the "freeze" and "thaw" parameter with a
code reference of the subroutine to be called. So the above example could also be specified as:
use Thread::Serialize;
use Thread::Queue::Any
freeze => &Thread::Serialize::freeze,
thaw => &Thread::Serialize::thaw,
;
REQUIRED MODULES
Test::More (0.88)
Thread::Queue (any)
INSTALLATION
This distribution contains two versions of the code: one maintenance version for versions of perl < 5.014 (known as 'maint'), and the
version currently in development (known as 'blead'). The standard build for your perl version is:
perl Makefile.PL
make
make test
make install
This will try to test and install the "blead" version of the code. If the Perl version does not support the "blead" version, then the
running of the Makefile.PL will *fail*. In such a case, one can force the installing of the "maint" version of the code by doing:
perl Makefile.PL maint
Alternately, if you want automatic selection behavior, you can set the AUTO_SELECT_MAINT_OR_BLEAD environment variable to a true value. On
Unix-like systems like so:
AUTO_SELECT_MAINT_OR_BLEAD=1 perl Makefile.PL
If your perl does not support the "blead" version of the code, then it will automatically install the "maint" version of the code.
AUTHOR
Elizabeth Mattijsen, <liz@dijkmat.nl>.
Please report bugs to <perlbugs@dijkmat.nl>.
COPYRIGHT
Copyright (c) 2002, 2003, 2007, 2012 Elizabeth Mattijsen <liz@dijkmat.nl>. All rights reserved. This program is free software; you can
redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
threads, threads::shared, Thread::Queue, Storable.
perl v5.14.2 2012-06-04 Thread::Queue::Any(3pm)