프로그래밍 QnA

oracle_warden의 이미지

[질문]list 관련 질문입니다.

제가 이번에 좀 알아볼 게 있어서 실험 하나를 했는데요..
우선, list1, list2, list3 이 3개가 있을 때, 각각의 크기가, 100, 1000, 10000이라고 놓고,
이 3개의 리스트를 nested loop로 순서를 바꿔서 돌려보았습니다.

첫번째 실험은, 크기가 가장 작은 LIST를 가장 바깥쪽에 놓고 실행 시킨 것이고, 두번째 실험은 반대로, 크기가 가장 작은 LIST를 가장 바깥쪽에 놓고 실행시킨 것입니다.
참고로, linux환경에서 ,gcc로 컴파일 했습니다.
첫번째 실험

yurina의 이미지

Lost connection to MySQL server during query

채팅서버 인데요
서버의 첫번째 방에 100명이 접속을 했어요...이것까지는 괜찮은데요
이 100명중에 99명이 동시에 빠져나가는 경우에요
mysql connect할때에

Lost connection to MySQL server during query

이러한 에러가 나요..제가 connect를 실패하면 서버를 죽도록 만들어서
자꾸 한꺼번에 빠져나갈때 서버가 죽어요...
찾아보니까 mysql has gone away와 비슷한거 같던데...
영문 매뉴얼이라..ㅡ.ㅡa 감이 안와요...

그리고 가끔 제대로 다 처리를 해도.. 방에 인원이 1명으로 남은것으로

clooney의 이미지

[질문] 리눅스 네트워크 필터 드라이버

안녕하세요.
리눅스에서 드라이버 레벨로 네트워크 필터 드라이버를 만들려고 합니다.
답이 안나오네요..... 드라이버 레벨로 모듈을 등록 삭제 가능하게 만들려고
하는데요. 패킷 캡쳐를 IP레벨로 하고 싶습니다.
특별한 방법 문의드립니다. 수고하세요

nayana의 이미지

자기가 만든 프로그램 linux util(pipe, 리다이렉션 )과 같이 쓰

아래소스는 tail의 간단한 예제소스입니다.
[code:1] 1 #include "tail.h"
2
3 int main(int argc, char **argv)
4 {
5 TAIL *tf;
6 char *buf;
7 int n;
8
9 if ((tf = opentail(argv[1])) == NULL)
10 {
11 perror("error ");
12 exit(0);
13 }
14 buf = (char *)malloc(256);
15 while(1)
16 {
17 n = readtail(tf, buf, 255, 1);

chonbj의 이미지

커널 2.6에서 SIGKILL을 받는 문제

여기에 질문을 올려도 되는지 모르겠네요..^^

안녕하세요.

고수님들께 도움 부탁 드립니다.

제가 멀티쓰레드 환경에서 서버 프로그램을 하고 있습니다.

현재 문제는 보통 메인쓰레드를 제외한 모든 쓰레드들은 시그널을 받지 않는 상태로 대기하고 메인 쓰레드만이 시그널 대기 상태로 하고 모든 시그널은 메인쓰레드에서 예외처리 하는 걸로 알고 있습니다.

지금까지 그렇게 구현을 해 왔었구요.

근데 이번에 커널 2.6 에서 테스트를 해본결과 SIGSEGV 발생시 메인쓰레드는 시그널 SIGSEGV를 받지 않고 바로 SIGKILL을 받아서 죽어 버립니다.

hurryon의 이미지

소켓에서 시도와 관련해서...

특정한 포트(예을 들어 21번이나 22번과 같은 포트)로 접속하여 해당하는 포트가 오픈되어 있는지 혹은 닫혀 있는지를 테스트하고 싶습니다.

해당하는 포트가 오픈이나 닫혀 있는 경우에는 문제 없이 테스트가 잘됩니다만...해당하는 시스템이 전원이 꺼져 있는 경우에는...이것을 알아내는데...시간이 무지하게 걸리고 있습니다.

아마도 소켓 옵션에서 이러한 경우에 재접속(?) 시간을 변경해 주는 옵션이 있을 듯합니다만...참고 링크나 문서의 페이지 넘버를 아신다면...부탁드립니다.

feelpassion의 이미지

Visual C++ 에서 문제입니다.

학교 공학제에 낼 작품을 만들고 있습니다.microrobot.co.kr에서 판매하는 MYvision 프레임 그래버를 두대 사용해서 손가락의 움직임을 3차원 좌표로 받아 스크린에 글씨를 쓰는 작품을 만들려고 합니다. 각설하고...

문제는 Visual C++ 프로그램을 만드는 도중에 중간 중간 코딩을 해서 넣어보고 실행해보고를 반복하다보니까 어느 순간엔가 모르게 workspace가 열리지 않았습니다(확장자 .dsw) 열면 아무것도 보이지 않더군요. 그래서 프로젝트 파일을 열려고하니( 확장자 .dsp) 이상한 메세지가 뜨고 메모리가 부족하다고 하더군요... (컴터 실행하자마자 했는데 안됩니다. 다른 예제프로그램들은 잘만 돌아가는데...ㅠㅠ)

seuwl의 이미지

네트워크프로그래밍 이나 RTP를 공부하며 목표로 좋은 프로젝트

네트워크프로그래밍이나 RTP를 한달정도 빡세게 공부해서 무언가 하나 만들어 보려고 합니다. C와 리눅스 환경에서 할것입니다. 어떤 프로젝트를 목표로 공부를 하면 확실히 능률적이고 완성도가 높을까요?

가령 메신저 프로그램 완성을 목표로 하면 좋다...라는 식의 말씀 부탁 드립니다.^^

chonbj의 이미지

커널 2.6에서 SIGSEGV 발생시 SIGKILL 오는 문제

안녕하세요.

고수님들께 도움 부탁 드립니다.

제가 멀티쓰레드 환경에서 서버 프로그램을 하고 있습니다.

현재 문제는 보통 메인쓰레드를 제외한 모든 쓰레드들은 시그널을 받지 않는 상태로 대기하고 메인 쓰레드만이 시그널 대기 상태로 하고 모든 시그널은 메인쓰레드에서 예외처리 하는 걸로 알고 있습니다.

지금까지 그렇게 구현을 해 왔었구요.

근데 이번에 커널 2.6 에서 테스트를 해본결과 SIGSEGV 발생시 메인쓰레드는 시그널 SIGSEGV를 받지 않고 바로 SIGKILL을 받아서 죽어 버립니다.

ppappa의 이미지

동적 메모리 할당에 관하여..

typedef struct
{
  int id;
  void *data;
} event_struct

void func1()
{
  event_struct *event = malloc(sizeof(event_struct));
  data_struct *data = malloc(sizeof(data_struct));
  event->id = ...;
  event->data = data;
...
  func2(event);
...
}

void func2(event_struct *event)
{
  free(event);
}

제가 개념이 잘 안잡혀서 몇가지 질문이 있습니다^^

1.
위와 같이 func1()에서 동적 메모리 할당을 했을 경우
free()할 때 event만 해주면 되는건지요?

페이지

프로그래밍 QnA 구독하기