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 NETBSD
pthread_suspend_np
PTHREAD_SUSPEND_NP(3) BSD Library Functions Manual PTHREAD_SUSPEND_NP(3)
NAME
pthread_suspend_np, pthread_resume_np -- suspend/resume the given thread
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
int
pthread_suspend_np(pthread_t thread);
int
pthread_resume_np(pthread_t thread);
DESCRIPTION
The pthread_suspend_np() function suspends the thread given as argument. If thread is the currently running thread as returned by
pthread_self(3), the function fails and returns EDEADLK. Otherwise, it removes the named thread from the running queue, and adds it to the
suspended queue. The thread will remain blocked until pthread_resume_np() is called on it. In other words, pthread_resume_np() resumes the
thread given as argument, if it was suspended.
RETURN VALUES
Both functions return 0 on success and an error number indicating the reason for the failure.
COMPATIBILITY
These functions are non-standard extensions.
ERRORS
The pthread_suspend_np() function may fail if:
[EDEADLK] The thread requested to suspend was the currently running thread.
[ESRCH] The supplied thread was invalid.
The pthread_resume_np() function may fail if:
[ESRCH] The supplied thread was invalid.
NOTES
Some pthread_suspend_np() implementations may allow suspending the current thread. This is dangerous, because the semantics of the function
would then require the scheduler to schedule another thread, causing a thread context switch. Since that context switch can happen in a sig-
nal handler by someone calling pthread_suspend_np() in a signal handler, this is currently not allowed.
In pthread_resume_np() the NetBSD implementation does not check if the thread argument is not already suspended. Some implementations might
return an error condition if pthread_resume_np() is called on a non-suspended thread.
SEE ALSO
pthread_attr_setcreatesuspend_np(3), pthread_self(3)
BSD
July 9, 2010 BSD