프로그래밍 QnA

atomes의 이미지

시스템 콜을 사용해 fwrite를 구현하려고 합니다.

fwrite 함수를 시스템콜을 사용해서 구현하려고 합니다.

임시버퍼의 크기를 64,파일버퍼의 크기를 1000이라고 선언하면

1) 파일에 저장할 배열의 원소를 임시버퍼 크기만큼(0~63) 가져와 임시버퍼에 넣는다
2) 임시버퍼가 꽉 차면 파일버퍼에 임시버퍼의 내용을 쓰고 임시버퍼를 비운다
3) 1)의 배열의 다음 위치부터 시작해서 원소를 임시버퍼 크기만큼(64~127) 가져와 임시버퍼에 넣는다
4) 임시버퍼가 꽉 차면 파일버퍼에 임시버퍼의 내용을 이어서 쓰고 다시 임시버퍼를 버퍼를 비운다
5) 위와 같은 과정을 반복해서 배열의 모든 원소가 파일버퍼에 들어가거나 파일버퍼가 꽉 차면
write함수를 이용해 파일에 파일버퍼의 내용을 쓴다

임의로 만든 파일 구조체 _FILE은 다음과 같습니다.

ItTickles의 이미지

직접 만든 타이머로 실행중인 응용 프로그램에 인터럽트를 보내고 싶습니다.

kernel module로 타이머를 직접 구현해서

insmod해두고,

응용프로그램에서 timer가 특정 시간이 될 때마다 interrupt를 받고 싶습니다.

kernel module까지는 작성하였는데, 응용프로그램에서 어떻게 정보를 받아와야할지 모르겠습니다.

연결고리를 찾지못하겠습니다..

어떤 부분을 살펴보면 알 수 있을까요?

wsong의 이미지

[완료]libpcap 프로그래밍 공부중인데요.

보통 룰을 지정할 때 아래와 같은 코드를 작성하는데요.
이렇게 했을 때 룰 하나만 감시하게 되는데요.

poiq1의 이미지

리눅스에서 오라클 핸들링 OCI관련 내용입니다.

안녕하세여^^ 리눅스 5.6 엔터프라이즈에서 작업중에 있습니다.

이번에 OCI라이브러리를 이용해서 해당 오라클 DB에 주기적으로 SELECT문을 날리는 프로그램을

제작했습니다.

10초 단위로 DB에 connection 한 후 SELECT문을 돈 후에 close하는 프로그램인데요..

이게 4~5시간 정도 경과시에 오류를 뱉어냅니다.

valgrind 툴을 이용해서 메모리 릭 체크를 하는데요..

invalid file descriptor 1019 in syscall open()

이런 문구의 오류 메시지가 출력이 댑니다.

이곳저곳을 확인해 본 결과. 오라클 섹션이 열려져 있는것이 확인이 됐습니다.

Command 는 SELECT 상태이고 Status 는 INACTIVE 상태로 정상적일 경우 이 섹션이 닫혀 있어야 하는데...

현제 섹션이 닫히지 않고 계속 살아 있는것입니다.

섹션이 살아있기 때문에 다음 사이클에서 오류가 발생하는거 같아 보이는데...

jms_jms의 이미지

혹시 trie와 hash 중에 어떤것이 더욱 효과적일까요?

음.. 일단 4byte에 대한 unique한 값이 들어온다고 가정했을 경우

둘중에 어떤것이 유리할까요?

4byte에 대한 값에 mark된 시점도 갖고 있는다고 가정할 경우 hash가 더욱 깔끔하지 않을까요?

+ 추가 정보를 갖는다고 했을 경우

트라이와 hash중에 성능이나 공간적인 면에서 어떤 구조가 나을까요?

저는 두개의 별 차이가 없을거 같은데.. trie가 성능이 좀 나을 것 같고..

구현 이슈는 hash가 훨 나을것 같습니다.

답변 부탁드립니다. 성능적인 issue도 좀 있는거라서...

ㅠ,.ㅠ 아직.. 초보라서 암것두 모르네염..ㅋ

djfcjslekd의 이미지

리턴값 출력 질문입니다.

자체 정의되어있는 db_read()라는 함수가 있습니다.말그대로 데이터베이스를 읽어들이는 함수인데요.

jazzbluey의 이미지

system message queue의 수신버퍼에서 Messagetype에 해당하는 size 알아보기

1. ioctl에 의한 socket buffer size 알아보기

ioctl( fd, FIONREAD, &nread );
 
if( nread==0 ) { // 세션 종료시 ioctl은 nread에 0을 대입합니다.
close(fd);
}
else {
readn( fd, Buffer, nread );
process_rutine(Buffer);
}

소켓 디스크립터를 알면 위와 같은 방식으로 소켓 버퍼에 존재하는 데이타의 byte 수를 알아낼 수 있습니다.

2. recv에 의한 socket buffer size 알아보기

ohsebal의 이미지

xfs 어렵습니다..

xfs 파일시스템에서 quota를 위해 xfs_quota 사용시 문제가 있는데요,
고수분들의 도움을 얻고 싶습니다. 환경은 아래와 같습니다.

-suse enterprise 11.1
-xfsprogs-3.1.4 소스 설치
-xfs_quota 실행시 : xfs_quota: cannot set limits: Function not implemented 메세지 에러
-구글에 떠도는 xfsprogs-quota-exitstatus.patch 로 패치 해 보았으나 같은 증상 : 패치시 reverse 등의 메세지가 나오네요,
-yast로 rpm 패키지 2.10 정도를 설치해도 같은 문제입니다.

며칠 고생했는데 배경지식이 딸리나 봅니다...
방법이 있을까요?

dcmru의 이미지

[완료]SVN 저장소가 날아갔는데, 최종 UPDATE한 소스로 복구 방법이 있나요?

리눅스 SVN 저장소가 있는 데스케이트 하드디스크가 운명하셨습니다. ㅠㅜ

수소문한 결과 펌웨어 업데이트로 살릴 수는 있다는데, 지방이라 수리하러 당장 갈 수가 없는 상태입니다.

백업을 안한 제 잘못이지만 혹시, 윈도우에 최종 UPDATE로 받은 소스는 있는데, 이를 가지고 저장소 복구는 못하나요?

저장소 타입은 --fs-type는 fsfs로 생성했었습니다.

윈도우의 TortoiseSVN에서 보면, 로그와 diff 정보가 다 있는것으로 보입니다.

유사한 경험이 있으신 분의 답이 필요합니다.

qprk의 이미지

InetAddress 에서 time out 거는 방법 질문 입니다.

String qDomain = IDN.toASCII("kldp.org");
InetAddress ia = InetAddress.getByName(qDomain);
this.IPAddress = ia.getHostAddress();

위와 같은 코드를 실행 합니다.

수많은 url 을 ip 로 바꾸는 프로그램 인대요..

kldp.org 처럼 잘 나오는것은 응답 시간에 문제가 없지만

특정 url 의 경우 약 1분 정도의 시간이 지난 다음 time out 이 발생하여 리턴 됩니다.

이렇게 무작정 기다리지 말고 10초로 정해놓고

10초간 기다렸다가 응답이 없으면 바로 리턴 하도록 할 수 있나요?

페이지

프로그래밍 QnA 구독하기