09-20-2007
Lying about prototypes and return types doesn't help.
The function prototype for a thread is
void *my_func(void *);
and the returned argument from a pthread_join is a void *.
Your typecasting as you have done it is unsafe.
So you should have
void *threadresult;
and
return (void *)x++;
Are you compiling with -D_REENTRANT ?
7 More Discussions You Might Find Interesting
1. HP-UX
Hello everyone,
Today we are attempting to port some legacy C code to a 64 HP-UX machine at my company and there is kind of a strange error we ran into.
there is a small function they have defined called zgetenv that
accepts a char* and basically just does some null checking and returns ... (0 Replies)
Discussion started by: khadesh
0 Replies
2. SuSE
Does anybody who uses open SUSE 11.0?
I have used open SUSE 10.2 for about 18 months.
Today I installed open SUSE 11.0
The printer does not work. I tried all the tricks tweak it.
My printer is an old one. It is HP Deskjet 5600 series.
It works fine.
I did the configuration using... (0 Replies)
Discussion started by: Angelo
0 Replies
3. Programming
Hi,
First of all forgive me if Xlib related problems does not go under this thread.
In my main program, im using Xlib`s XImage type object which contains a regularly updating bitmap, and maps the XImage to a Xwindow using XPutImage.
( XCreateImage is used to create the XImage. )
The... (0 Replies)
Discussion started by: wolwy_pete
0 Replies
4. Programming
Hi
some help read............
I'm getting a segmentation fault when I run an AIX COBOL/Db2 program.
I initiate the program from the command line, but it hangs, and then when I press enter it generates a segmantation fault and produces a core dump.
The box is running AIX software level ... (5 Replies)
Discussion started by: steve_f
5 Replies
5. Programming
Is this x86? I encountered this instruction and can't seem to find any info on what it does anywhere. Any ideas? This is how it appears:
seg es (4 Replies)
Discussion started by: stevenswj
4 Replies
6. IP Networking
Hello I am having some issues doing to routing I have 4 network cards and one is connected to a linksys router with everything turned off to give us a static ip to use for the gateway out to the internet.
Hear is what we have
We have
eth2 with ip address of 192.168.1.2 / sub 255.255.255.0... (0 Replies)
Discussion started by: psutliff-una
0 Replies
7. SuSE
Hello,
I have a project that I have compiled on a number of linux systems including CentOS, Ubuntu, and Windows Cygwin. I am trying to build the project under SUSE 12.1. The make file runs allot of the way through, but then throws an error that an included file can't be opened.
This is the... (4 Replies)
Discussion started by: LMHmedchem
4 Replies
LEARN ABOUT SUSE
ddi_dma_segtocookie
ddi_dma_segtocookie(9F) Kernel Functions for Drivers ddi_dma_segtocookie(9F)
NAME
ddi_dma_segtocookie - convert a DMA segment to a DMA address cookie
SYNOPSIS
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_dma_segtocookie(ddi_dma_seg_t seg, off_t *offp, off_t *lenp, ddi_dma_cookie_t *cookiep);
INTERFACE LEVEL
This interface is obsolete. ddi_dma_nextcookie(9F) should be used instead.
PARAMETERS
seg A DMA segment.
offp A pointer to an off_t. Upon a successful return, it is filled in with the offset. This segment is addressing within the
object.
lenp The byte length. This segment is addressing within the object.
cookiep A pointer to a DMA cookie (see ddi_dma_cookie(9S)).
DESCRIPTION
ddi_dma_segtocookie() takes a DMA segment and fills in the cookie pointed to by cookiep with the appropriate address, length, and bus type
to be used to program the DMA engine. ddi_dma_segtocookie() also fills in *offp and *lenp, which specify the range within the object.
RETURN VALUES
ddi_dma_segtocookie() returns:
DDI_SUCCESS Successfully filled in all values.
DDI_FAILURE Failed to successfully fill in all values.
CONTEXT
ddi_dma_segtocookie() can be called from user or interrupt context.
EXAMPLES
Example 1: ddi_dma_segtocookie() example
for (win = NULL; (retw = ddi_dma_nextwin(handle, win, &nwin)) !=
DDI_DMA_DONE; win = nwin) {
if (retw != DDI_SUCCESS) {
/* do error handling */
} else {
for (seg = NULL; (rets = ddi_dma_nextseg(nwin, seg, &nseg)) !=
DDI_DMA_DONE; seg = nseg) {
if (rets != DDI_SUCCESS) {
/* do error handling */
} else {
ddi_dma_segtocookie(nseg, &off, &len, &cookie);
/* program DMA engine */
}
}
}
}
ATTRIBUTES
See attributes(5) for a description of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Stability Level |Obsolete |
+-----------------------------+-----------------------------+
SEE ALSO
attributes(5), ddi_dma_nextcookie(9F). ddi_dma_nextseg(9F), ddi_dma_nextwin(9F), ddi_dma_sync(9F), ddi_dma_cookie(9S)
Writing Device Drivers
SunOS 5.10 27 Sep 2002 ddi_dma_segtocookie(9F)