ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] Q: read()/write() operations of exact size
@ 2010-01-15 23:57 Michael Pozhidaev
  2010-01-16  0:25 ` Kirill A. Shutemov
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Pozhidaev @ 2010-01-15 23:57 UTC (permalink / raw)
  To: sisyphus

Привет всем!

Вот два симметричных вопроса: предположим надо по трубе записать и
прочитать некоторую структуру известного размера, как сделать так, чтобы
быть уверенным, что она запишется сразу полностью и прочитается сразу
полностью?

Насчёт прочитать наткнулся на ioctl(fd, FIONREAD), который говорит,
сколько данных доступно для чтения. Как быть уверенным, что ядро не
захочет писать структуру из, скажем , семи байт порциями по два-три
байта? ННеохота каждый write() оборачивать в цикл. Ну уж как-то это
очень коряво получается.
-- 
Michael Pozhidaev. Tomsk, Russia.
E-mail: msp@altlinux.ru
Info: http://www.marigostra.ru/



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-01-16  1:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-15 23:57 [sisyphus] Q: read()/write() operations of exact size Michael Pozhidaev
2010-01-16  0:25 ` Kirill A. Shutemov
2010-01-16  0:45   ` Michael Pozhidaev
2010-01-16  0:57     ` Dmitry V. Levin
2010-01-16  1:05       ` Michael Pozhidaev

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git