프로그래밍 QnA + 설치 및 활용 QnA

sunbee의 이미지

multi-thread, nonblocking 소켓.. ㅠㅠ

구성

			main () 
			{
				nonblocking mode socket 생성

				while(1) {
					cs = accept(...);
					pthread_create(&p_thread, NULL, work_thread, (void *)&cs);
				}
			}
			
			void *work_thread(void *data)
			{	
				.
				.
				.
		        do {
		            read_size = read (cs, buf, 100);
		            total_size += read_size;
		        } while (total_size < 100);
			}			

서버가 이런식으로 구성이 됩니다.

nonblocking mode 소켓일때

notunix의 이미지

thread 최대 생성갯수

스레드로 프로그램을 작성해보고 있는데요
p4에 512메가 redhat9.0인 컴퓨터인데요
이상하게 254개까지만 만들어지고 그 이상은 만들어 지지 않네요

ulimit -a 로 확인해보면
core file size (blocks, -c) 0
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
max user processes (-u) 2047

그리고 /proc/sys/kernel/threads-max
여기서 확인해보면 4095 가 되어 있거든요

무조건 thread 를 만드는 프로그램을 컴파일해서

cadman79의 이미지

레이드 카드를 어떻게 쓰면 될지.. ^^;

안녕하세요.

제가 UltimaRAID100 레이드 카드를 리눅스에서 잡아볼려고.. 노력을 했지만..

커널을 컴파일 하면서 자꾸 에러가 나구.. 해서..

이렇게 글을 올립니다...

3~4명 정도가 쓸수 있도록 파일서버를 구축할려고 하니...

하드가 많이 필요하더라구요...

그래서 기존에 윈도우에서 쓰던 레이드 카드(UltimaRAID100)을 사용할려고 하니.. 아직 못붙이고 있네요...

ㅡㅡ;

그래서 혹시나 이런 파일서버를 만드는데.. 어떤 레이드 카드를 사용하면 좋을지 궁금해서 이렇게 글을 올립니다..

kernelbomb의 이미지

소켓프로그래밍 - 구조체 보내기...

안녕하세요?

UNP를 보고 공부하고 있는데요.

숫자의 경우 UNP에선 문자로 만들어 보내던지 빅엔디언으로 넷똑에

보내고 받을 때는 호스트에 바이트오더에 맞게 받으면 된다고 하는데요.

아래 소스를 실행시키면 이상하게 동작합니다.

서버측 보내는 프로그램
[code:1] void str_echo(int sockfd)
{
ssize_t n;
struct args args;
struct result result;

for (;;)
{
if ((n = readline(sockfd, &args, sizeof(args))) == 0)

epilogue의 이미지

포팅에서 endian 문제입니다.

Big Endian System (SPARC) 에서 Little Endian System (X86) 으로 포팅을 하고 있습니다.
일단 통신 부분의 Endian 문제는 해결을 하였습니다.
다른 부분에서는 특별한 문제가 발생하지는 않는지요...

통신 부분에서야 네트워크 오더를 호스트 오더를 바꿔주는 작업이 필요하겠지만, Endian 문제는 휘발성메모리에서의 문제인지라...
하나의 호스트에서는 발생하지 않는다고 개인적으로 생각하고 있었거든요.
그런데 왠지 다른부분에도 문제가 발생할 것만 같은 예감이 들어서요.

meconfidence의 이미지

쓰레드 관련 질문 ( 인자 넘기기 )

main -> function(쓰레드생성 & detach) -> 쓰레드
로 인자를 넘기는 데,
usleep ( or sleep )을 주지 않으면 인자가 잘 안넘어가더라구요..
인자가 잘 안넘어 가는 이유를 알고싶고, sleep을 쓰지 않는 다른 방법이 있으시면 가르켜주세요.(단 join이 아닌 detach로 해야만 합니다.)
다음은 수도 코드 입니다.
가르켜 주시면 한수 배우겠습니다. :D

[code:1]main()
{
char *a[2] = {"asdf","1234"};
char *b[2] = {"bbbb","0000"};

coolpeace의 이미지

[질문]SATA disk 인식 문제..

120G 짜리 SATA disk를 구입 해서 linux를 설치하려고 하니 하드를 인식못하네요...

찾아보니 아직 지원해주는 리눅스가 없는듯 한데...

해결방법 아시는 고수님 계시면 좀 알려주세요..

수업 프로젝트 때문에 리눅스 꼭 깔어야 하는뎅..

하드를 인식도 못하니..

이런 낭패가... ㅡㅡ;

eyre의 이미지

[Q] about make config

커널을 재 컴파일 하려는데 make config가 복잡네요.
도중에 모르는 사항이 거의 태반인데, 어짜피 커널에 대한
환경 세팅이라면
1. 현재 사용하고 있는 configuration정보들을 그대로 사용할 수 있는 방법은 없나 요?

2. 그리고 현재 configuration세팅 사항이 저장된 파일은 어디에 위치해 있는지요?

커널을 시스템 콜 부분만 바꾼 상황이라 예전 config환경을 그대로 사용해도 상관 없을것 같은데 예전 정보를 모르니 힘드네요.
알려주시면 감사하겠습니다

peccavi의 이미지

core dump 디버깅시...

안녕하세요.
코어 덤프 파일로 디버깅을 하는데

Quote:
[peccavi@sun ee]$ gdb -c core.7725
GNU gdb Red Hat Linux (5.3.90-0.20030710.41rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
Core was generated by `./test'.
Program terminated with signal 6, Aborted.
ysch0i의 이미지

파일 이름을 치환하고 싶습니다.

파일명, 파일이름, 치환, 변경 등등으로 검색해봤습니다만 적당한 답을 찾지 못하여 이렇게 글을 올립니다.

대부분의 글은 디렉토리안의 xxx.c등의 모든 c파일의 문자열을 치환하는 것이더군요.

제가 질문하고자 하는것은 좀더 쉬울지도 모르겠습니다만... 적당한 방법이 생각나지 않아서 입니다.

ls하면
TEST1-AAA-Case1.out
TEST1-BBB-Case1.out
...
TEST2-AAA-Case1.out
TEST2-BBB-Case1.out
...
뭐 이런식으로 파일명이 나옵니다.

여기서 Case1하는 부분을 Case2로 바꾸고 싶습니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기