Using "fprintf( stderr, ... )" will not guarantee that the output from multiple threads won't be mixed together, since any one fprintf() call can make multiple underlying write() calls to the stderr file descriptor.
To get guaranteed non-interleaved output, you have to actually make the write() call on STDERR_FILENO yourself, as Corona688 already stated.
The easiest way to do that is to write your own code, similar to this:
I've been doing some reading lately about threading (Posix threads) and I'm really curious about a couple things that I've read. I'm not sure if many people here have threading experience, but I thought it would be nice to be able to discuss some questions about it.
(For the record, I did... (1 Reply)
Hi,
I have written a code which will run a set of process using
fork.
I want to know from You how can i start another job when one of my job in my loop is completed
My code is
#include<stdio.h>
#include<ctype.h>
main() {
int pid,cid;
ChildProcess();
... (1 Reply)
Hi All,
Here's my question
I have a 385 MB file containing 5,000,000 records.
I need to read from the file and load into a table.
Initially i thought of doing it in a single thread (execution of a single program) but when calculated accounted 16 hours of time on a standard benchmark.
Hence... (5 Replies)
I am not sure if multi threading is the correct term, but here is what I am trying to do. I have a while loop that displays the number 1, pauses, displays the number 2, pauses , displays the number 3 ad infinitum. It just keeps counting.
While the screen displays the sequence of numbers counting... (4 Replies)
Sir,
Can I call same function in the start routines of different Threads.
I have created two different threads....and wanna call same function from both threads....is it possible???
Also can I fork inside a thread??? (1 Reply)
Hi, If we create 10 threads to invoke runQuery method at same time, Will queryProcessor will be overriden sometime or 10 different copies will be created?
We are not using any sunchronzation mechnism in runQuery(). so there is not gurantee on QueryProcessor class variables right OR each 10... (1 Reply)
Hi, I am trying to get my head round Multi Threading and I have a few queries to try and clear up my confusion
Q1. Is multi threading a hardware / chip level concept, an OS level or an application level concept ? I am trying to work out where SMT architecture fits in.
Q2. What's the multi... (3 Replies)
Not just background process running ... but im looking if unix has any multi-threading concept like in Java, C# ... if not present, can you pls share the nearest feature in unix that is close to multi-threaded concept (3 Replies)
Hi,
Can we apply multi threading in Unix. I am using bash shell.
We have a generic script to load the data to table based on file input. For each file there is an individual table to load.
For each file found in directory I want to load the data in parallel to target table using
... (3 Replies)
Discussion started by: vedanta
3 Replies
LEARN ABOUT NETBSD
ssp
SSP(3) BSD Library Functions Manual SSP(3)NAME
ssp -- bounds checked libc functions
LIBRARY
Buffer Overflow Protection Library (libssp, -lssp)
SYNOPSIS
#include <ssp/stdio.h>
int
sprintf(char *str, const char *fmt, ...);
int
vsprintf(char *str, const char *fmt, va_list ap);
int
snprintf(char *str, size_t len, const char *fmt, ...);
int
vsnprintf(char *str, size_t len, const char *fmt, va_list ap);
char *
gets(char *str);
char *
fgets(char *str, int len, FILE *fp);
#include <ssp/string.h>
void *
memcpy(void *str, const void *ptr, size_t len);
void *
memmove(void *str, const void *ptr, size_t len);
void *
memset(void *str, int val, size_t len);
char *
strcpy(char *str, const char *ptr, size_t len);
char *
strcat(char *str, const char *ptr, size_t len);
char *
strncpy(char *str, const char *ptr, size_t len);
char *
strncat(char *str, const char *ptr, size_t len);
#include <ssp/strings.h>
void *
bcopy(const void *ptr, void *str, size_t len);
void *
bzero(void *str, size_t len);
#include <ssp/unistd.h>
ssize_t
read(int fd, void *str, size_t len);
int
readlink(const char * restrict path, char * restrict str, size_t len);
int
getcwd(char *str, size_t len);
DESCRIPTION
When _FORTIFY_SOURCE bounds checking is enabled as described below, the above functions get overwritten to use the __builtin_object_size(3)
function to compute the size of str, if known at compile time, and perform bounds check on it in order to avoid data buffer or stack buffer
overflows. If an overflow is detected, the routines will call abort(3).
To enable these function overrides the following should be added to the gcc(1) command line: ``-I/usr/include/ssp'' to override the standard
include files and ``-D_FORTIFY_SOURCE=1'' or ``-D_FORTIFY_SOURCE=2''.
If _FORTIFY_SOURCE is set to 1 the code will compute the maximum possible buffer size for str, and if set to 2 it will compute the minimum
buffer size.
SEE ALSO gcc(1), __builtin_object_size(3), stdio(3), string(3), security(7)HISTORY
The ssp library appeared NetBSD 4.0.
BSD March 21, 2011 BSD