Ming Zhao | 13 Apr 07:59 2014

EPOLLOUT is triggered after sending data on UDP socket without EAGAIN

Hi there,

I'm not sure whether this is an epoll bug:

- I have a UDP socket which is non-blocking and watched by epoll with
- EPOLLOUT is triggered after registering the file descriptor with
epoll_add, which is expected.
- After calling sendto on the UDP socket with a very small message(5
bytes), sendto returns the exact number of bytes sent and no EAGAIN is
- *but* calling epoll_wait still returns EPOLLOUT.

Shouldn't that EPOLLOUT be only triggered when an EAGAIN is generated
after any writing operation?

Here is the code I use:
We have very simple wrapper for socket and epoll operations, and you
can easily guess what they're doing

TEST(EpollService, UdpWriteable) {

  Socket client(Socket::UDP());

  Socket server(Socket::UDP());

  // Ask os to pick random port
  CHECK_ERR(server.Bind(SocketAddress(SocketAddress::LOOPBACK, 0)));

(Continue reading)

Steven Stewart-Gallus | 1 Apr 06:41 2014

How about allowing processes to expose memory for cross memory attaching?


A major limitation of process_vm_writev and process_vm_readv is that
they have the same permission constraints as ptrace. How about allowing
processes to expose memory for reading with process_vm_readv or
writing with process_vm_writev?

I think a good way of doing this might be to add flags to
process_vm_writev and process_vm_readv to make them temporarily
publish a vector of memory to another process until such memory is
read or written from with process_vm_writev or process_vm_readv once.
For example, one would invoke the process_vm functionality like so to
publish for reading the vector of memory in local_iov to the process
identified by pid:

if (-1 == process_vm_writev(pid,
                           local_iov, ARRAY_SIZE(local_iov),
                           NULL, 0,
                           PROC_VM_PUBLISH)) { // ...

The interface would be simpler if the functions blocked but then for
every EINTR handling loop there would need to be an EPERM loop on the
other side.

Finally, I'm not sure of what the semantics of that interface would be
in the presence of multithreading or shared memory. And, I'm not sure
how usable this interface would be for fast message passing which is
the whole intent of the process_vm functions (I'm using these
functions directly for my application and this interface seems like it
work fine with my application but I'm not sure it would work for
(Continue reading)

Loans | 5 Mar 12:36 2014

Loan Application

Loan Application at a low rate of 0.5% send your Name,Amount,Phone and country to standard11@...

Note: $5,000.00 USD minimum and $100,000,000 Maximum.
Jantima Khuntaraksa | 28 Feb 22:11 2014


Attention: Please, Kindly contact KENYA COMMERCIAL BANK immediately for your compensation payment of
Email:(services1@...) quote your payment Ref
No:KCB/00Y/2014 For purposes of immediate payment.   

Alex Thorlton | 25 Feb 21:54 2014

[PATCHv4 0/3] [RESEND] mm, thp: Add mm flag to control THP

(First send had too big of a cc list to make it into all the mailing lists.)

This patch is based on some of my work combined with some
suggestions/patches given by Oleg Nesterov.  The main goal here is to
add a prctl switch to allow us to disable to THP on a per mm_struct

Changes for v4:

* Added a bit of documentation for flag changes
* Changed the prctl switch code so that get/set operations are
  processed in separate cases
* Added information about the new flags to the user-facing prctl docs
  (this is in a separate patch, everyone will be cc'd there as well)

The main motivation behind this patch is to provide a way to disable THP
for jobs where the code cannot be modified, and using a malloc hook with
madvise is not an option (i.e. statically allocated data).  This patch
allows us to do just that, without affecting other jobs running on the

We need to do this sort of thing for jobs where THP hurts performance,
due to the possibility of increased remote memory accesses that can be
created by situations such as the following:

When you touch 1 byte of an untouched, contiguous 2MB chunk, a THP will
be handed out, and the THP will be stuck on whatever node the chunk was
originally referenced from.  If many remote nodes need to do work on
that same chunk, they'll be making remote accesses.

(Continue reading)

mrs eva | 20 Feb 10:52 2014


Hi, I have a transaction for you, contact me on (
mrs.eva@... ) for more details
Dr.William Davies | 14 Feb 13:36 2014

Re: Instructions to release your payment.



Following an application brought, seeking the release of your due payment
through British bank, I am directed to inform you that the application has
been approved and Natwest bank of London has been mandated to make transfer
of your payment to the bank account you will nominate. Please kindly reply
for immediate release of your US$6.2 Million to you nominates account.

Sir, for the avoidance of doubts, reconfirm the following information to
me to enable us forward same to Natwest bank to contact you for your



Tel/Fax No.:



Date of birth: 

As soon as I received the above information, I will forward them to
Natwest bank to contact you for your approved payment. Please see in the
attachment, letter I wrote to Natwest bank informing them of the
(Continue reading)


Cash Awaiting Pick Up..

This is to re-notify you that you have $500,000.00 waiting for pick-up at Money Gram, Contact 
Mrs Hillary Florence via email : heritdept@... for claims.
angel80200 | 21 Jan 12:15 2014

RE: LOCAL MAP OPTIMIZATION FOR : mail-archive.com (Less Than $99/Month)

Good Morning Sir / Mam

Is your business ranking in local maps shown on PAGE 1 of google ? With new
google policies they have specifically asked local business owners to
optimize their website for local maps rather than JUST organics. Do you know
the reason why you are not ranked well on google MAPs or why there is drop
in your website rankings? Prime reason for bad rankings for a busniess is
lack of local presence and local citations ie getting your business listed
on directories like YELP, MANTA & Many more. These websites not just give
your business a push but also help you Maintain a good Online Reputation.

Why you need to optimize your website for local MAP Listings ?

- MAP listings get 10 times more clicks than organic listings
- Increased conversions because of real reviews posted on your Google Plus
- Every year there is 30% increase in searches for local keywords
- Increases legitimacy of a Business

We will help you get your website ranked well on google for the related
keywords in your niche. We specialize in LOCAL SEARCH ENGINE OPTIMIZATION
increasing visibility for small businesses by ranking them for
geographically-related keywords. Say for eg-: you want to search a plumber
in your city, You will be typing in keywords like Plumbers + City Or
Plumbers + IN + City. We make sure your website comes in google MAP listings
shown on page 1 for each such keyword.

means that google wants to end up that frustrating experience of users who
are searching for Service Or Product and seeing the results that are not
(Continue reading)

annstokesz | 20 Dec 01:08 2013

Hello dear

Hello dear
I will be very happy to be your friend.
My name is miss. Ann Stokes. Please i will like you to
write me through my email address ( ann55u@... ) .
I will send my pictures to you and also tell you more about
myself when i receive your email.
I will be waiting for your mail in my mail box.
Your new friend.

David Howells | 12 Nov 19:41 2013

[PATCH 0/3] Extended file stat system call [ver #2]

Implement a new system call to provide an extended and further extensible stat


 (*) Added an optional auxiliary data buffer pointer argument to sys_statxat()
     and moved some of the stuff into it.

 (*) Discarded "has an ACL info flag" for now.

 (*) AFS doesn't need to set time granularity itself as the default is 1s


The second of the associated patches is the main patch that provides this new
system call:

	long ret = statxat(int dfd,
			   const char *filename,
			   unsigned atflag,
			   unsigned mask,
			   struct statx *buffer,
			   struct statx_auxinfo *auxinfo);

(Continue reading)