프로그래밍 QnA

익명 사용자의 이미지

linux에서 accept 함수 에러 핸들링

readhat 7.3의 accept 맨페이지에 다음과 같은 내용이 있습니다.

에러 HANDLING
Linux accept 는 accept의 에러 코드때문에 새 소켓에 이미 미결인 네트웍 에러를
전달한다. 이러한 행동은 BSD 소켓 수행과는 다르다. 신뢰적인 작동을 위해 응용
프로그램은 accept 후에 프로토콜에 정의된 네트웍 에러들을 검사해야 한다. 그리고
재시도에 의해 EAGAIN같은 에러를 처리해야 한다. TCP/IP의 경우, 이것들은 ENETDOWN,
EPROTO, ENOPROTOOPT, EHOSTDOWN, ENONET, EHOSTUNREACH, EOPNOTSUPP, 그리고 ENETUN-

익명 사용자의 이미지

fork 관련 질문입니다. 아래소스를 봐주십시오.

#include
#include
#include
#include
#include
#include

void mysig(int signo);
int main( int argc , char *argv[] )
{
pid_t pid, cpid;
static struct sigaction act;

fprintf( stderr , "Parent %d....start!\n" , getpid() );
act.sa_handler = mysig;
sigaction(SIGALRM , &act , 0);
sigaction(SIGINT , &act , 0);
sigaction(SIGCHLD , &act , 0);
sigaction(SIGCLD , &act , 0);
sigaction(SIGTSTP , &act , 0);
alarm ( 1 );
pid = fork();
if ( pid == 0 ) /* Child */
{
fprintf( stderr , "Child %d....start!\n" , getpid() );

익명 사용자의 이미지

부동소숫점 연산(디바이스 드라이버) ???

디바이스 드라이버를 작성할 때 디바이스 드라이버 내에서의
부동소숫점 연산이 코드내에 존재하면 insmod 할때 아래와 같은 에러가
발생합니다...

insmod unresolved symbol __floatsidf
insmod unresolved symbol __fixunsdfsi
insmod unresolved symbol __muldf3
insmod unresolved symbol __adddf3

예를 들어, 다음과 같은 코드입니다...

void temp()
{
double x = 2.5;

x = x / 1.3;
}

해결방법이 없을까요? 부동 소숫점 연산을 아예 사용하지 않는 방법밖에
없나요?

제가 사용하는 플

익명 사용자의 이미지

소켓 관련 질문~!!

서버에서 임의로 접속을 끊었을 경우, 클라이언트에서는 끊어지지 않는 것은 왜 그런가요?

strace로 보니, 접속이 끊어진 후에도 send, recv 값이 -1로 나오지 않던데 그건 왜 그런가요?

watch -n 1 "netstat -an|grep ESTABLISH"로 접속을 확인하면서 테스트 해 보았는데 분명 접속은 끊어졌거든요... 근데 어찌하여 send, recv error가 나지 않는건지...

왜 그런가요? 그리고 해결책은 무엇인가요?

익명 사용자의 이미지

SO_LINGER

#include
#include
#include
#include
#include
#include

int main(){
int sockfd,optlen,ti;
struct linger ling;
if( (sockfd = socket(AF_INET, SOCK_STREAM, 0))< 0){
perror("socket error");
}

optlen = sizeof(ling);
if( getsockopt(sockfd,SOL_SOCKET, SO_LINGER,
(struct linger*)&ling,&optlen) < 0){
perror("getsockopt error");
}
ti = ling.l_linger;
printf("SOCK LINGER TIME = %d %
d\n",ti,ling.l_onoff);

익명 사용자의 이미지

incompatible pointer type - warnings

물리학관련 계산 프로그램중에 사용되는 라이브러리 화일을 만드는 과정에
아래와 같은 경고 메세지가 나오고, 어쨌거나 컴파일된 libgk.a 를 링크시
켜 필요한 프로그램을 gdb에서 돌렸을때 아래와 같은 결과가 나왔습니다.
gcc 2.7.2.3 과 g77 2.91.57 버전에서는 잘 돌아갔다는데...
지금 사용하는 오에스는 레드헷7.1입니다. 고수님들 아래의 메세지들만
보시고도 무엇이 문제인지 알아낼 수 있나요? 아니면 화일들을 직접 봐야
만 하나요??? 많은 조언 부탁합니다.

익명 사용자의 이미지

[질문]실행중인 서버에서 특정값을 다른 서버로 보내기

데몬으로 떠 있는 서버에서 특정 값을 다른 서버프로그램에 있는 곳으로
보낸후에 그곳에서 데이타를 받을려고 합니다.

A 서버프로그램이 실행되면서 여러가지 작업을 수행중에 특정값만 A에서
B 서버 프로그램에 데이타를 보내고 B에서 처리한 값을 다시 A로 받아야
되는데요..

제 생각으로는 A에서 데이타를 보낼때 B에 맞는 C 클라이언트 프로그램을
만들면 될것 같은데요 이렇게 했을때 A에서 보내는 데이타를 C클라이언트
프로그램에 어떻

익명 사용자의 이미지

프로세스그룹 및 세션에 관한 정리를 해봤는데요..

보시고, 덧붙일말씀이나 잘못된점 있으면 짚어주싶시오.
1. 최초 부모프로세스(포크전)는 pid(프로세스식별번호), pgrp(프로세스그
룹식별번호)
가 동일하게 생성(최초프로세스는 프로세스그룹리더가 된다고 함.)
2. fork 후 자식, 재fork후 손자들의 프로세스그룹식별번호가
부모의 프로세스그룹식별번호와 동일 ( 자식프로세스에서 getpgrp로 검사)
3. session id 또한 1,2번 사이에 모두 동일
4. 단말기마다 세션id가 다름(-ksh)
5. kill -9 상대방sessionid 가능(단말기 없어짐)

익명 사용자의 이미지

[질문] 특정호스트의 ip만 가져오는 쉘스크립트

제가 ping을 이용해서 특정ip를 가져왔거든요.

netip="`ping -c 1 xxxxxxx.com |
awk '/64 bytes from/ {sub(/from/,"",$1); print $4 }' |
sed "s/\//g"`"
사정상 ping을 사용하기에는 문제가 있습니다.

nslookup 을 이용해서 가져오고 싶은데,..
쉘 스크립트가 많이많이 부족해서.....

좀 도와주세요....

익명 사용자의 이미지

배열 해제?

소켓 플밍을 하거 있습니다.. 데몬작업.. 쓰레드거..
근데 자꾸 세그먼트 폴트가 일어나네여 ㅠ.ㅠ 잘돌다가 ㅠ.ㅠ
core파일 보면 메모리 부족이라거 나오는데......
쩌비.. 많은양의 데이타를 받습니다..
각 쓰레드들은 하나 처리 하고 죽고.. 하는데엽..

배열도 메모리 해제해줘야 하나엽??... 어케여??
해제 해준다거 free 써서 많이 해줬는데도.. ㅠ.ㅠ 문제들이 발생
프로세스가 사용중인 메모리 보면.. 메모리 어쩔땐 엄청 올라갑니다.
아 세그 먼트 폴트 땜시 죽것듬다 ㅠ.ㅠ

페이지

프로그래밍 QnA 구독하기