06-01-2011
Sockets are also not available on EVERY system, does not mean you should not use them. The option is available on Windows, Linux and BSDs, haven't checked more.
Go check the
POSIX specification for socket's options. The STANDARD said so.
---------- Post updated at 05:11 AM ---------- Previous update was at 04:38 AM ----------
Quote:
Originally Posted by
Loic Domaigne
Your reasoning is excellent, but your basic assumptions are off. If you read carefully my posts, I just mentioned that it is possible to block on a socket, while sending data, since TCP is full-duplex. Nothing more, nothing less.
And even if people err (I personally do), I don't feel the need to treat them "maroons that have no idea about what they're talking about". We're all here to learn, and this can be achieved in a respectful way.
Just my 2c,
Loïc
I apologize for my rudeness.
As in abstract implementation goes, it is possible but its not very smart as it is easy to mess up, consider blocking thread unblocks (because it gets data to read) while other thread is sending and starts sending as well, you end up with borked output, or at least there will be a race condition possibility. Smart implementation should use just one thread per connection handler.
Last edited by expl; 06-01-2011 at 07:00 AM..
10 More Discussions You Might Find Interesting
1. Programming
I have written a socket program in C under RedHat Linux 6.2. This program is using SOCK_STREAM (TCP) to connect to any ip address at port # 23. The program is hosted on the linux machine and works well with Cisco routers. But when I am trying to connect to the same linux machine, it does not return... (4 Replies)
Discussion started by: biswa
4 Replies
2. Programming
Hello everyone. I have a question regarding select() function. Imagine i had passed a fd_set* as the readfds parameter. Can i add some fd to the fd_set, using FD_SET, while the thread is blocked in the select call(obviously from another thread), and will that select call monitor those fd, even if... (2 Replies)
Discussion started by: adadon
2 Replies
3. Shell Programming and Scripting
Hi!
My data file contains a two columns list. It looks like:
1 3.789
2 6.789
3 7.890
4 8.900
5 6.789
6 1.987
7 10.987
8 2.987
9 0.987
I would like to create a new list using the awk command, just selecting data from the second column but also printing the first column.
Let say I select... (3 Replies)
Discussion started by: cris48
3 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I am trying to send email with attacment and body using "mailx"
(cat body.txt; uuencode attach.txt) | mailx -s "Attachment" abc@xyz.com
When i type this command, the shell is still waiting for me to enter something in standard input and press control D before it sends a mail and... (2 Replies)
Discussion started by: aliaszero
2 Replies
5. Homework & Coursework Questions
Write a program using select, which will create some number of child processes that continuously send text messages to the parent process using pipes. Each child has its own pipe that it uses to communicate with the parent. The parent uses select () to decide what pipes should be processed to... (1 Reply)
Discussion started by: ripssingh
1 Replies
6. Shell Programming and Scripting
Hi ,
I want to select data from a file .the datas in a file will be in both upper and lower case. can able to select particular data using awk.
file is like
Ram Selva 24332 UNIXTEAM
Karthi Siva 43322 UNIXTEAM
In read if i enter selva as lowercase its not displaying result. (9 Replies)
Discussion started by: boopal
9 Replies
7. Shell Programming and Scripting
I would like to recover the data from 3 text tags.
These three markers are located between the tags specific location <tag1> and </tag1> knowing that they are in many places.
In File.txt:
<tag2>txt2</tag2>
<tag3>txt3</tag3>
<tag4>txt4</tag4>
....
<tag1>
<tag2>txt2</tag2>... (3 Replies)
Discussion started by: Amad
3 Replies
8. UNIX for Dummies Questions & Answers
Hello all,
Once again I need to call upon the masters for help. I have a file called endpoint_data. IN that file I have groups of endpoints. However all I need from the file is this....
ENDPOINT NAME = SIPWOODSBC
SIG PRI FQDN/IP ADDRESS/DOMAIN NAME = 10.xxx.xxx.xxx
SIG SEC... (4 Replies)
Discussion started by: jay11789
4 Replies
9. IP Networking
Hello All,
I am very new to socket programming and client server architecture. I have to write a client which will send some data to server and server will display it on its console. I am ready with both client and server but my problem is with packetizing of data --
I have... (1 Reply)
Discussion started by: anand.shah
1 Replies
10. Shell Programming and Scripting
I wish to use AWK to do something akin: Select all 2D data with 1<$1<2 and -7.5<$2<-6.5
But it's not working
awk 'END {print ($1<=2&&$1>=1&&$2<=-6.5&&$2>=-7.5)}' bla
Data:
-1.06897 -8.04482 -61.469
-1.13613 -8.04482 -61.2271
-1.00182 -8.04482 -61.2081
-1.06897 -8.13518 -60.8544... (2 Replies)
Discussion started by: chrisjorg
2 Replies
LEARN ABOUT SUSE
pthread_cancel
PTHREAD_CANCEL(3P) POSIX Programmer's Manual PTHREAD_CANCEL(3P)
PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the correspond-
ing Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.
NAME
pthread_cancel - cancel execution of a thread
SYNOPSIS
#include <pthread.h>
int pthread_cancel(pthread_t thread);
DESCRIPTION
The pthread_cancel() function shall request that thread be canceled. The target thread's cancelability state and type determines when the
cancellation takes effect. When the cancellation is acted on, the cancellation cleanup handlers for thread shall be called. When the last
cancellation cleanup handler returns, the thread-specific data destructor functions shall be called for thread. When the last destructor
function returns, thread shall be terminated.
The cancellation processing in the target thread shall run asynchronously with respect to the calling thread returning from pthread_can-
cel().
RETURN VALUE
If successful, the pthread_cancel() function shall return zero; otherwise, an error number shall be returned to indicate the error.
ERRORS
The pthread_cancel() function may fail if:
ESRCH No thread could be found corresponding to that specified by the given thread ID.
The pthread_cancel() function shall not return an error code of [EINTR].
The following sections are informative.
EXAMPLES
None.
APPLICATION USAGE
None.
RATIONALE
Two alternative functions were considered for sending the cancellation notification to a thread. One would be to define a new SIGCANCEL
signal that had the cancellation semantics when delivered; the other was to define the new pthread_cancel() function, which would trigger
the cancellation semantics.
The advantage of a new signal was that so much of the delivery criteria were identical to that used when trying to deliver a signal that
making cancellation notification a signal was seen as consistent. Indeed, many implementations implement cancellation using a special sig-
nal. On the other hand, there would be no signal functions that could be used with this signal except pthread_kill(), and the behavior of
the delivered cancellation signal would be unlike any previously existing defined signal.
The benefits of a special function include the recognition that this signal would be defined because of the similar delivery criteria and
that this is the only common behavior between a cancellation request and a signal. In addition, the cancellation delivery mechanism does
not have to be implemented as a signal. There are also strong, if not stronger, parallels with language exception mechanisms than with sig-
nals that are potentially obscured if the delivery mechanism is visibly closer to signals.
In the end, it was considered that as there were so many exceptions to the use of the new signal with existing signals functions it would
be misleading. A special function has resolved this problem. This function was carefully defined so that an implementation wishing to pro-
vide the cancellation functions on top of signals could do so. The special function also means that implementations are not obliged to
implement cancellation with signals.
FUTURE DIRECTIONS
None.
SEE ALSO
pthread_exit(), pthread_cond_timedwait(), pthread_join(), pthread_setcancelstate(), the Base Definitions volume of IEEE Std 1003.1-2001,
<pthread.h>
COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technol-
ogy -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE
and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained
online at http://www.opengroup.org/unix/online.html .
IEEE
/The Open Group 2003 PTHREAD_CANCEL(3P)