'Linux'에 해당되는 글 94건

  1. 2007.02.27 gtk Thread (2)
  2. 2007.02.22 libconfuse 에서 *** glibc detected *** double free or corruption
  3. 2007.02.14 USB 부팅 리눅스는 GG (2)
  4. 2007.02.12 USB 스토리지 마운트 하기(SD,MMC카드,USB메모리) (6)
  5. 2007.02.12 screen attach dettach 구별법 (2)

gtk Thread

이번에 Thread가 먼지 확실히 알게된...
대충 하나의 프로그램의 흐름을제어 하는것..인거 같다..
fork는 같은 프로그램 이미지를 copy하는거랑 비교하면...
아 몰라 암튼

if(!g_thread_supported())
g_thread_init(NULL);
쓰레드가 지원하는지 확인하고 초기화시킨다 (역시 gtk는 함수만 봐도 딱 보인다니까..)

if(!g_thread_create((GThreadFunc)me_keys,window,FALSE,NULL))
perror("Thread ERROR");
쓰레드를 생성한다

gdk_threads_init(); //이것도 초기화
gdk_threads_enter();
gtk 함수들 ~
gdk_flush();
gdk_threads_leave();
을 랩핑한다

예시>
227 puts("Show");
228 gdk_threads_enter();
229 gtk_window_deiconify(GTK_WINDOW(widget));
230 gtk_window_present(GTK_WINDOW(widget));
231 gdk_flush();
232 gdk_threads_leave();

근데 이런식으로 해서 xlib랑 앞에 포스팅된 key_grap 할려니깐 자꾸 에러가 먹네..

Xlib: unexpected async reply (sequence~)

음 다시 찾아보니 gtk_thread_init를 빼먹었었구나..(현재 윗부분 수정)

가끔씩 맛이 가는거 빼곤 잘된다...

참고:
http://bebop.emstone.com/research/python/pygtk_faq/chapter20#id5

'Programming > GTK+' 카테고리의 다른 글

g_signal_connect의 폐해?  (4) 2007.03.30
xlib 에러 해결!  (2) 2007.02.28
gtk Thread  (2) 2007.02.27
vte를 이용한 간단한 터미널  (2) 2007.01.14
libglade 컴파일법  (1) 2006.12.14
TODAY.... 삽질 DAY  (6) 2006.08.09
Trackback 0 Comment 2

libconfuse 에서 *** glibc detected *** double free or corruption

CFG_SIMPLE_STR 이런식으로 했을시에
저런 에러가 난다면
먼저 문자열을 넣어 줬는지 체크한다
초기값은 NULL이 할당이 되어 있어야한다

그리고 libconfuse에서 값을 재대로 못읽어돌경우가 있는데
그 이유중하나가 큰따옴표를 빼먹어서 일 가능성도 있다
데이터가 없더라도 config파일에 큰쌍따옴표가 들어가게 해야한다
Trackback 0 Comment 0

USB 부팅 리눅스는 GG


지금까지 커널까지 건들여가면서 삽질한 이유기
일반 USB메모리를 HDD 처럼 쓰게 해서 휴대 가능하게

하는 방법을 연구? 중이였는데 ...
(일반 라이브 시디는 영구 저장기능이 없으니..)


IRC에서 nidev(liveusb 카르나도 제작)님과 얘기를 했다
어째다가 /dev 이야기가 나와서..
왜 roor(/)를 USB로 두지 않고 loop장치로 했나고 내가 물어봤더니
USB메모리는 10만회 rw가 되면 수명..... 문제 때문이라는 답변이. <
del><그래도 몇달은 쓸수 있지 않을까(대략)

뭐 tar로 묶는 방법을 0.3버젼에 도입한다고 하긴 했는데.. 그래도 걍 HDD처럼 쓰긴 좀...
결국,, 내가 처음 생각 했던 일반 하드디스크로 쓰기는 무리 였건것..

그냥 차라리 일반 라이브 시디를 사용하고 일정 저장된 서버(구글 메일 이라던가)를 이용해서
쓰는 방법도 괘안들거 같다 고 생각은 했는데 이것도 느리다고 해서....


아니면 only 콘솔만쓰던가...(아무래도 문자면 더 wr가 적게 될터이니..)
문제는 내가 허접이라는거...
Trackback 0 Comment 2

USB 스토리지 마운트 하기(SD,MMC카드,USB메모리)



linux2.6.20애서 USB 메모리를 잡을려고 모듈 올린 부분..(usb마우스랑 기타 겹치는게 있음.. 중요한건 저 스토리지랑 SCSI
사용자 삽입 이미지

사용자 삽입 이미지


현재 들어와 있는 모듈




usb_storage 31620 1
usbhid 13060 0
rtc 9776 0
ohci1394 28592 0
ieee1394 75444 1 ohci1394
ohci_hcd 16388 0
ehci_hcd 23820 0
radeon 109216 2
drm 101400 3 radeon
nvidia_agp 6172 1
agpgart 23752 2 drm,nvidia_agp
snd_intel8x0 26396 3
snd_ac97_codec 85156 1 snd_intel8x0
ac97_bus 2304 1 snd_ac97_codec
snd_pcm 59908 3 snd_intel8x0,snd_ac97_codec
snd_timer 16260 2 snd_pcm
snd 33912 8 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
soundcore 5728 1 snd
snd_page_alloc 7304 2 snd_intel8x0,snd_pcm

마운트 하기
mount /dev/sdX /mnt/fl
아 그리고 뭐 charset 몿찾겠다면서 거품물때가 있는데 (dmesg | tail 쓰라고 애러 날때중 하나)

디바이스 설정중 로케일을 다음과 같이 넣으면됨
사용자 삽입 이미지
Trackback 0 Comment 6

screen attach dettach 구별법

/tmp/screen/-S-$USER/의 fifo파일의
mode상태를 보면된다
퍼며션에 access mode가 되있으면 (x,700) attach
안되잇으면 dettach다(600)
이거안다고 screen 솟스 뒤짐 ㅜ.ㅜ
조금만 관찰 해보면 알수 있었을 텐데..
아주 fifo쓰기하고 뻘짓을함..
역시 소스 보기가 제일이야 ㅠ

file>socket.c

277 /*
278 * mode 600: socket is detached.
279 * mode 700: socket is attached.
280 * xflag implies rflag here.
281 *
282 * fail, when socket mode mode is not 600 or 700
283 * fail, when we want to detach w/o reattach, but it already is detached.
284 * fail, when we only want to attach, but mode 700 and not xflag.
285 * fail, if none of dflag, rflag, xflag is set.
아 역시 지금까지 이거 함수 만드는거 한건 뻘짓이였어.................................

'Programming > System' 카테고리의 다른 글

압축플때 쓰는 쉘 스크립트  (4) 2007.06.18
MBR(?) 출력 하기  (2) 2007.06.17
screen attach dettach 구별법  (2) 2007.02.12
Beginning Linux Programming Part6-Curses  (2) 2006.06.25
ls -al  (0) 2006.06.21
Beginning linux programming  (6) 2006.03.01
Trackback 0 Comment 2
prev 1 ··· 13 14 15 16 17 18 19 next