Sponsored Content
Top Forums Programming a strange segment fault about ltp-posix test Post 302328632 by fpmurphy on Wednesday 24th of June 2009 09:50:56 PM
Old 06-24-2009
Reducing the problem to its essence makes it easier to understand
Code:
#include <time.h>
#define BOGUSTID 9999

timer_t tid;
  
#if WANT_SEG_FAULT
   tid = (timer_t) BOGUSTID
#else
   int tval=BOGUSTID;
   tid = (timer_t) &tval;
#endif

The correct header is being included but an assumption is being made that tid is capable of storing a value as shown above. Generally this assumption is wrong as timer_t is specified to be an opaque type in POSIX.1. On most versions of GNU/Linux, timer_t is actually defined by
Code:
#define timer_t   void *

In your example you are trying to stuff 9999 into a void * - which is not on.

BTW, your workaround is defective also. tid is not being set to 9999 but to the address of tval.
 

8 More Discussions You Might Find Interesting

1. Programming

Segment Fault

When run it, segment fault. What is wrong? #include <stdio.h> #include <stdlib.h> const int max =20; //**************************************************** // Input Matrix //**************************************************** void inMatrixAA(int *AA, int row, int col)... (9 Replies)
Discussion started by: zhshqzyc
9 Replies

2. Shell Programming and Scripting

Strange error message with regex test...

Hi all, I have a script where i need to check the format of a string. finally, i'm waiting a "process name" and 2 numbers separated by a "," string like : "this_is_a_string.txt,1,10 should be ok" string ok : "apache.exe,1,10" string ok : "mysqld,50,0" string not ok : "ap ache,1,10"... (4 Replies)
Discussion started by: fgilain
4 Replies

3. Shell Programming and Scripting

test command looks strange...

I just ran into this today, and don't know what to make of it... if test x$SERVER = x then echo $USAGE exit 1 fi I know what everything in there does, except for the 'x' jazz... (2 Replies)
Discussion started by: jjinno
2 Replies

4. Programming

Data segment or Text segment

Hi, Whether the following piece of code is placed in the read-only memory of code (text) segment or data segment? char *a = "Hello"; I am getting two different answers while searching in google :( that's why the confusion is (7 Replies)
Discussion started by: royalibrahim
7 Replies

5. Programming

why segment fault,

I always get segment fault, why? can sb help me and modify it, I have spend on much time on #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #include <string.h> #define MAX 10 pthread_t thread; void *thread1() { int *a; int i, n; ... (1 Reply)
Discussion started by: yanglei_fage
1 Replies

6. Programming

Segment-fault handling for pthreads

Hi I have struggling a week to fix a program , in the begining i got SIGBUS , but after many attempts still the program gets SIGSEGV segment fault , In bellow i post the seg fault log + source codes. would really appreciate if experts help me to fix this segment fault error. any advice is... (2 Replies)
Discussion started by: pooyair
2 Replies

7. Programming

Segment fault for C++ program when return vector

I am trying to reverse complement DNA sequence (string) with a short c++ code using boost library. Code was compiled without any warning/error, but ran into Segmentation fault. My guess is the function to return a vector, but not sure. #include <iostream> #include <fstream> #include <string>... (14 Replies)
Discussion started by: yifangt
14 Replies

8. Programming

Segment fault related to strlen.S

Hello, This function was copied into my code, which was compiled without error/warning, but when executed there is always Segmentation fault at the end after the output (which seems correct!): void get_hashes(unsigned int hash, unsigned char *in) { unsigned char *str = in; int pos =... (7 Replies)
Discussion started by: yifangt
7 Replies
KILL(3PVM)							  PVM Version 3.4							KILL(3PVM)

NAME
pvm_kill - Terminates a specified PVM process. SYNOPSIS
C int info = pvm_kill( int tid ) Fortran call pvmfkill( tid, info ) PARAMETERS
tid Integer task identifier of the PVM process to be killed (not yourself). info Integer status code returned by the routine. Values less than zero indicate an error. DESCRIPTION
The routine pvm_kill sends a terminate (SIGTERM) signal to the PVM process identified by tid. In the case of multiprocessors the terminate signal is replaced with a host dependent method for killing a process. If pvm_kill is successful, info will be 0. If some error occurs then info will be < 0. pvm_kill is not designed to kill the calling process. To kill yourself in C call pvm_exit() followed by exit(). To kill yourself in For- tran call pvmfexit followed by stop. EXAMPLES
C: info = pvm_kill( tid ); Fortran: CALL PVMFKILL( TID, INFO ) ERRORS
These error conditions can be returned by pvm_kill PvmBadParam giving an invalid tid value. PvmSysErr pvmd not responding. SEE ALSO
pvm_exit(3PVM), pvm_halt(3PVM) 30 August, 1993 KILL(3PVM)
All times are GMT -4. The time now is 12:04 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy