04-29-2004
FIFO issue
hello i am making a client server program
that communicates via FIFOS and i cannot get it to not hang
i also am forking exec-ing the client from the server
my logic (i will spare you the code )
in the server
i make two fifos in my server my file permissions
are 0644
i then open both with O_RDWR
i then fork and exec the client
inside the client
i open two fifos both with O_RDWR
then begin a while loop to write and read from the server
i understand that a FIFO hangs until a read has established itself
but that is why i have the RDWR flag instead of read and write
my questions are
should i fork/exec first?
do i need to mkfifos in the client as well
even tho i am forking and execing
can someone offer some insight i would really appreciate
this has been a thorn in myside
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi All
L2000-44
HP-UX 11.00
I am attempting to setup a FIFO over NFS. Directing and reading from the FIFO works fine on the local machine - however when I direct to the FIFO from a server which has the directory NFS mounted it does not work. The a process to read from the FIFO on the local... (2 Replies)
Discussion started by: saabir
2 Replies
2. UNIX for Advanced & Expert Users
Hi...Can anyone please guide me on FIFO Pipes in UNIX.I have lerant things like creating fifo pipes,using them for reads and writes etc.I want to know what is the maximum amount of memory that such a pipe may have? Also can anyone guide me on where to get info on this topic from? (4 Replies)
Discussion started by: tej.buch
4 Replies
3. Programming
hi, I have a problem. I've done a lil program which gets from the server the given persons username a personal folder. I made it with a pipe calling popen with a command, but how can i make the same thing using fifo. I make the fifo with mkfifo() func. and than what. How do I tell the sertver using... (3 Replies)
Discussion started by: atticus
3 Replies
4. UNIX for Dummies Questions & Answers
Hi ,
I m beginner for Unix and i want to use FIFO in my 2 Scripts . I want 1 script to read data from FIFO and other will write into FIFO.
Despite reading so many articles/posts i am still unable sunchronize my scripts.
My doubts are
1> Do We require both scripts as daemons to use... (0 Replies)
Discussion started by: Akshay
0 Replies
5. Programming
Hello,
I have a FIFO which i would like to open O_WDWR | O_NONBLOCK | O_ASYNC and have a SIGIO signal generated when there is input on the FIFO, but there a re a bunch of bugs surrounding this (like for instance i read somewhere that you have to set O_ASYNC with fcntl etc.
is this even... (0 Replies)
Discussion started by: davo666
0 Replies
6. Programming
Hello C programming fellows!!!
I'm doing a program with multiple threads in gnu/linux, ubuntu for beeing precise...
This program consist in multiple threads, as logical each thread do different things and communicate to each other using IPC.
The problem is that in "process 1" I have a... (1 Reply)
Discussion started by: Sandia_man
1 Replies
7. Programming
Dear friends
i'm want to implement a program which one file is split into fragments by the server (by some random size) and sent to some processes, so these processes get randomly the fragments of the original file from the server, then the downloader randomly connects to some of these processes... (0 Replies)
Discussion started by: saman_glorious
0 Replies
8. Programming
=server.c=
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
#include <signal.h>
#define MSGSIZE 50 (1 Reply)
Discussion started by: sponge
1 Replies
9. UNIX and Linux Applications
Hello ,
I am working on unix FIFO IPC. i have a doubt regarding that.
If the fifo is updated(write()) through one process....can we able to send any signal that fifo is updated and ready to get read...to other process.?? (0 Replies)
Discussion started by: Harry443
0 Replies
10. UNIX for Beginners Questions & Answers
Hi all,
First of all, sorry for the pastebin link. The code tags aren't working for me.
#!/bin/bash # while-menu-dialog: a menu driven - Pastebin.com
This is a channel "changer" shell script i'm working on. It uses dialog to display the menus.
It... (3 Replies)
Discussion started by: ignatius
3 Replies
LEARN ABOUT OPENDARWIN
ssl_ctx_new
SSL_CTX_new(3) OpenSSL SSL_CTX_new(3)
NAME
SSL_CTX_new - create a new SSL_CTX object as framework for TLS/SSL enabled functions
SYNOPSIS
#include <openssl/ssl.h>
SSL_CTX *SSL_CTX_new(SSL_METHOD *method);
DESCRIPTION
SSL_CTX_new() creates a new SSL_CTX object as framework to establish TLS/SSL enabled connections.
NOTES
The SSL_CTX object uses method as connection method. The methods exist in a generic type (for client and server use), a server only type,
and a client only type. method can be of the following types:
SSLv2_method(void), SSLv2_server_method(void), SSLv2_client_method(void)
A TLS/SSL connection established with these methods will only understand the SSLv2 protocol. A client will send out SSLv2 client hello
messages and will also indicate that it only understand SSLv2. A server will only understand SSLv2 client hello messages.
SSLv3_method(void), SSLv3_server_method(void), SSLv3_client_method(void)
A TLS/SSL connection established with these methods will only understand the SSLv3 protocol. A client will send out SSLv3 client hello
messages and will indicate that it only understands SSLv3. A server will only understand SSLv3 client hello messages. This especially
means, that it will not understand SSLv2 client hello messages which are widely used for compatibility reasons, see SSLv23_*_method().
TLSv1_method(void), TLSv1_server_method(void), TLSv1_client_method(void)
A TLS/SSL connection established with these methods will only understand the TLSv1 protocol. A client will send out TLSv1 client hello
messages and will indicate that it only understands TLSv1. A server will only understand TLSv1 client hello messages. This especially
means, that it will not understand SSLv2 client hello messages which are widely used for compatibility reasons, see SSLv23_*_method().
It will also not understand SSLv3 client hello messages.
SSLv23_method(void), SSLv23_server_method(void), SSLv23_client_method(void)
A TLS/SSL connection established with these methods will understand the SSLv2, SSLv3, and TLSv1 protocol. A client will send out SSLv2
client hello messages and will indicate that it also understands SSLv3 and TLSv1. A server will understand SSLv2, SSLv3, and TLSv1
client hello messages. This is the best choice when compatibility is a concern.
The list of protocols available can later be limited using the SSL_OP_NO_SSLv2, SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1 options of the
SSL_CTX_set_options() or SSL_set_options() functions. Using these options it is possible to choose e.g. SSLv23_server_method() and be able
to negotiate with all possible clients, but to only allow newer protocols like SSLv3 or TLSv1.
SSL_CTX_new() initializes the list of ciphers, the session cache setting, the callbacks, the keys and certificates, and the options to its
default values.
RETURN VALUES
The following return values can occur:
NULL
The creation of a new SSL_CTX object failed. Check the error stack to find out the reason.
Pointer to an SSL_CTX object
The return value points to an allocated SSL_CTX object.
SEE ALSO
SSL_CTX_free(3), SSL_accept(3), ssl(3), SSL_set_connect_state(3)
0.9.7d 2002-12-01 SSL_CTX_new(3)