프로그래밍 QnA

훌륭한녀석의 이미지

completion 과 semaphore

커널 syncronization문제입니다.
completion과 semaphore에 대해서 무엇때문에 completion을 사용하는지 모르겠습니다. understanding linux kernel에서는 smp일 경우 한쪽(CPU1에서 작동하는 process A)에서 temporary(?!) semaphore 변수를 만들고, 그 주소를 다른 cpu에 동작하는 프로세스 B에 전달하고 down()시킵니다. 그리고선 CPU2의 process B는 같은 semaphore에 대해서 up()시킵니다. 이 때 CPU1에서 실행중인 proceess A가 세마포어를 없애버리면 process B가 잘못된 값을 참조 할 수 있다고 합니다.

firehole의 이미지

gcc를 사용하는데....

안녕하세요..?

제가 gcc로 컴파일을 하려하는데....
헤더파일 directory를 못 찾는다고 에러 메세지가 나오네요..
참고로 stdio.h도요...

어느 화일을 변경해야 하는지..궁금합니다..

좋은 하루 되십세요...

ldy1210의 이미지

linux에서 mutex Unlock시에 segmentation fault 가 발생되는 현

[code:1]#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/shm.h>

int shm_id;

pthread_mutex_t *mutex = (pthread_mutex_t *)-1;

pthread_mutexattr_t attr;

void * thr_aaa(void * parg)
{
int temp = (int)parg;
pthread_mutex_t *thr_mutex = mutex;

while (1)
{
printf("lock start 1 : [%d] [%d]\n", thr_mutex, temp);
fflush(stdout);

pthread_mutex_lock(thr_mutex);

printf("lock start 2 : [%d] [%d]\n", thr_mutex, temp);

lhuijae의 이미지

[질문] (null) 로 출력되는것?

디비에 NULL 값이 저장되어있는것을 뽑아서 출력하면 (null) 이렇게 출력됩니다.. 그런데 변수를 직접 선언해서 거기에 NULL값을 집어넣은후 출력하면 아무것도 출력되지 않습니다.. 무슨 차이인지 모르겠습니다...

jeswan의 이미지

dddddd

dddddd

nayana의 이미지

소수구하는 구하는 알고리즘 시간 측정하기?

입력을 시키면 블럭된 상태로 빠지게 됩니다.
답변 부탁드리겠습니다. 무엇이 잘못된건가요?^^
#include <stdio.h>
#include <math.h>
#include <unistd.h>
#include

#define TRUE 1
#define LOOP 1000

static struct timeval _tstart, _tend;

int is_prime1( int n );
int is_prime2( int n );
void result( int i, int n, int r, long t );
void t_start();
void t_end();
long tval( long t1, long t2 );

int main( void )
{
int n;
long t1, t2;//시간을 측정하기 위한 변수
int r;//결과를 저장하기위한 변수

hyangil의 이미지

한터미널에서 다른 터미널로 접속할려면 어떻게 해야할까요?

안녕하세요

제 컴퓨터 상에서

일단 2개의 터미널을 띄워 놓고

한터미널에서 다른 터미널로 접속할려면 어떻게 해야할까요?

너무 쉬운 질문인가요? ^^;;

그럼 답변을 기다리면서....

horse76의 이미지

[질문]X가 아닌 console에서 GUI를 만들 수 있나여?

궁금합니다.

X에서만 GUI를 만들수가 있는건지?

console환경에서만 사용하시는 분들도 있을텐데 GUI를 어떤식으로 플밍하시는지.....알고 싶네여.............

kiss의 이미지

IBM AIX 에서 컴파일 시 에러 발생 ?

안녕하세요.

소켓 프로그램을 컴파일 중 문제가 생겨서 질문을 하려고 합니다.

같은 프로그램을 AIX 4.3에서 gcc로 컴파일 하면 문제가 없는데

AIX 5.1에서 컴파일 하면 아래와 같은 에러가 발생합니다.

특이한 것은 AIX 5.1에서 cc로 컴파일 하면 잘 되거든요.

혹시 문제에 대해 알고 계시는 분은 답변 좀 부탁드립니다.

/* AIX 4.3 컴파일 결과 */

# ./m.sh
rm -rf ptupdate *.o
gcc -c -DUNIX -DAIX -D__DEBUG_FUNCTION -D__DEBUG_ERROR -D__DEBUG_VALUE ptupdate.c

notunix의 이미지

select 를 thread 로 분리....

안녕하세요

제가 select를 thread 로 분리해놓고

accept 되면 메인 loop에서 FD_SET 을 하고

select는 변화가 있는 소켓에서 recv 를 해서
데이터를 받도록 했는데요
일반적인 데이터는 잘 받는데
client 가 소켓을 끊을 경우 close 신호를 두번 받더군요
그래서 같은 소켓을 두번 close 하게 되던데
이런 저런 방법을 써도 해결이 잘 안됩니다
잘아시는 분의 조언을 부탁드립니다

그리고 select 로 받을 수 있는 소켓이 1024 이하인데
이를 커널 컴파일 할때 옵션을 줘서 더 늘릴 수 있다고 하던데요

페이지

프로그래밍 QnA 구독하기